@@ -407,15 +407,15 @@ void Client::step(float dtime)
407
407
snprintf (pName, PLAYERNAME_SIZE, " %s" , myplayer->getName ());
408
408
snprintf (pPassword, PASSWORD_SIZE, " %s" , m_password.c_str ());
409
409
410
- NetworkPacket* pkt = new NetworkPacket (TOSERVER_INIT_LEGACY,
410
+ NetworkPacket pkt (TOSERVER_INIT_LEGACY,
411
411
1 + PLAYERNAME_SIZE + PASSWORD_SIZE + 2 + 2 );
412
412
413
- * pkt << (u8) SER_FMT_VER_HIGHEST_READ;
414
- pkt-> putRawString (pName,PLAYERNAME_SIZE);
415
- pkt-> putRawString (pPassword, PASSWORD_SIZE);
416
- * pkt << (u16) CLIENT_PROTOCOL_VERSION_MIN << (u16) CLIENT_PROTOCOL_VERSION_MAX;
413
+ pkt << (u8) SER_FMT_VER_HIGHEST_READ;
414
+ pkt. putRawString (pName,PLAYERNAME_SIZE);
415
+ pkt. putRawString (pPassword, PASSWORD_SIZE);
416
+ pkt << (u16) CLIENT_PROTOCOL_VERSION_MIN << (u16) CLIENT_PROTOCOL_VERSION_MAX;
417
417
418
- Send (pkt);
418
+ Send (& pkt);
419
419
}
420
420
421
421
// Not connected, return
@@ -455,19 +455,19 @@ void Client::step(float dtime)
455
455
[3+6] v3s16 pos_1
456
456
...
457
457
*/
458
- NetworkPacket* pkt = new NetworkPacket (TOSERVER_DELETEDBLOCKS, 1 + sizeof (v3s16) * sendlist.size ());
458
+ NetworkPacket pkt (TOSERVER_DELETEDBLOCKS, 1 + sizeof (v3s16) * sendlist.size ());
459
459
460
- * pkt << (u8) sendlist.size ();
460
+ pkt << (u8) sendlist.size ();
461
461
462
462
u32 k = 0 ;
463
463
for (std::vector<v3s16>::iterator
464
464
j = sendlist.begin ();
465
465
j != sendlist.end (); ++j) {
466
- * pkt << *j;
466
+ pkt << *j;
467
467
k++;
468
468
}
469
469
470
- Send (pkt);
470
+ Send (& pkt);
471
471
472
472
if (i == deleted_blocks.end ())
473
473
break ;
@@ -575,9 +575,9 @@ void Client::step(float dtime)
575
575
[0] u8 count
576
576
[1] v3s16 pos_0
577
577
*/
578
- NetworkPacket* pkt = new NetworkPacket (TOSERVER_GOTBLOCKS, 1 + 6 );
579
- * pkt << (u8) 1 << r.p ;
580
- Send (pkt);
578
+ NetworkPacket pkt (TOSERVER_GOTBLOCKS, 1 + 6 );
579
+ pkt << (u8) 1 << r.p ;
580
+ Send (& pkt);
581
581
}
582
582
}
583
583
@@ -666,15 +666,15 @@ void Client::step(float dtime)
666
666
size_t server_ids = removed_server_ids.size ();
667
667
assert (server_ids <= 0xFFFF );
668
668
669
- NetworkPacket* pkt = new NetworkPacket (TOSERVER_REMOVED_SOUNDS, 2 + server_ids * 4 );
669
+ NetworkPacket pkt (TOSERVER_REMOVED_SOUNDS, 2 + server_ids * 4 );
670
670
671
- * pkt << (u16) (server_ids & 0xFFFF );
671
+ pkt << (u16) (server_ids & 0xFFFF );
672
672
673
673
for (std::set<s32>::iterator i = removed_server_ids.begin ();
674
674
i != removed_server_ids.end (); i++)
675
- * pkt << *i;
675
+ pkt << *i;
676
676
677
- Send (pkt);
677
+ Send (& pkt);
678
678
}
679
679
}
680
680
@@ -794,27 +794,27 @@ void Client::request_media(const std::vector<std::string> &file_requests)
794
794
FATAL_ERROR_IF (file_requests_size > 0xFFFF , " Unsupported number of file requests" );
795
795
796
796
// Packet dynamicly resized
797
- NetworkPacket* pkt = new NetworkPacket (TOSERVER_REQUEST_MEDIA, 2 + 0 );
797
+ NetworkPacket pkt (TOSERVER_REQUEST_MEDIA, 2 + 0 );
798
798
799
- * pkt << (u16) (file_requests_size & 0xFFFF );
799
+ pkt << (u16) (file_requests_size & 0xFFFF );
800
800
801
801
for (std::vector<std::string>::const_iterator i = file_requests.begin ();
802
802
i != file_requests.end (); ++i) {
803
- * pkt << (*i);
803
+ pkt << (*i);
804
804
}
805
805
806
- Send (pkt);
806
+ Send (& pkt);
807
807
808
- infostream<< " Client: Sending media request list to server ("
809
- <<file_requests.size ()<< " files. packet size)" << std::endl;
808
+ infostream << " Client: Sending media request list to server ("
809
+ << file_requests.size () << " files. packet size)" << std::endl;
810
810
}
811
811
812
812
void Client::received_media ()
813
813
{
814
- NetworkPacket* pkt = new NetworkPacket (TOSERVER_RECEIVED_MEDIA, 0 );
815
- Send (pkt);
816
- infostream<< " Client: Notifying server that we received all media"
817
- <<std::endl;
814
+ NetworkPacket pkt (TOSERVER_RECEIVED_MEDIA, 0 );
815
+ Send (& pkt);
816
+ infostream << " Client: Notifying server that we received all media"
817
+ << std::endl;
818
818
}
819
819
820
820
void Client::initLocalMapSaving (const Address &address,
@@ -891,9 +891,9 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id)
891
891
return ;
892
892
}
893
893
894
- NetworkPacket* pkt = new NetworkPacket (data, datasize, sender_peer_id);
894
+ NetworkPacket pkt (data, datasize, sender_peer_id);
895
895
896
- ToClientCommand command = (ToClientCommand) pkt-> getCommand ();
896
+ ToClientCommand command = (ToClientCommand) pkt. getCommand ();
897
897
898
898
// infostream<<"Client: received command="<<command<<std::endl;
899
899
m_packetcounter.add ((u16)command);
@@ -906,7 +906,6 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id)
906
906
infostream << " Client::ProcessData(): Discarding data not "
907
907
" coming from server: peer_id=" << sender_peer_id
908
908
<< std::endl;
909
- delete pkt;
910
909
return ;
911
910
}
912
911
@@ -922,25 +921,22 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id)
922
921
* as a byte mask
923
922
*/
924
923
if (toClientCommandTable[command].state == TOCLIENT_STATE_NOT_CONNECTED) {
925
- handleCommand (pkt);
926
- delete pkt;
924
+ handleCommand (&pkt);
927
925
return ;
928
926
}
929
927
930
928
if (m_server_ser_ver == SER_FMT_VER_INVALID) {
931
929
infostream << " Client: Server serialization"
932
930
" format invalid or not initialized."
933
931
" Skipping incoming command=" << command << std::endl;
934
- delete pkt;
935
932
return ;
936
933
}
937
934
938
935
/*
939
936
Handle runtime commands
940
937
*/
941
938
942
- handleCommand (pkt);
943
- delete pkt;
939
+ handleCommand (&pkt);
944
940
}
945
941
946
942
void Client::Send (NetworkPacket* pkt)
@@ -949,7 +945,6 @@ void Client::Send(NetworkPacket* pkt)
949
945
serverCommandFactoryTable[pkt->getCommand ()].channel ,
950
946
pkt,
951
947
serverCommandFactoryTable[pkt->getCommand ()].reliable );
952
- delete pkt;
953
948
}
954
949
955
950
void Client::interact (u8 action, const PointedThing& pointed)
@@ -975,17 +970,17 @@ void Client::interact(u8 action, const PointedThing& pointed)
975
970
4: use item
976
971
*/
977
972
978
- NetworkPacket* pkt = new NetworkPacket (TOSERVER_INTERACT, 1 + 2 + 0 );
973
+ NetworkPacket pkt (TOSERVER_INTERACT, 1 + 2 + 0 );
979
974
980
- * pkt << action;
981
- * pkt << (u16)getPlayerItem ();
975
+ pkt << action;
976
+ pkt << (u16)getPlayerItem ();
982
977
983
978
std::ostringstream tmp_os (std::ios::binary);
984
979
pointed.serialize (tmp_os);
985
980
986
- pkt-> putLongString (tmp_os.str ());
981
+ pkt. putLongString (tmp_os.str ());
987
982
988
- Send (pkt);
983
+ Send (& pkt);
989
984
}
990
985
991
986
void Client::sendNodemetaFields (v3s16 p, const std::string &formname,
@@ -995,19 +990,19 @@ void Client::sendNodemetaFields(v3s16 p, const std::string &formname,
995
990
996
991
FATAL_ERROR_IF (fields_size > 0xFFFF , " Unsupported number of nodemeta fields" );
997
992
998
- NetworkPacket* pkt = new NetworkPacket (TOSERVER_NODEMETA_FIELDS, 0 );
993
+ NetworkPacket pkt (TOSERVER_NODEMETA_FIELDS, 0 );
999
994
1000
- * pkt << p << formname << (u16) (fields_size & 0xFFFF );
995
+ pkt << p << formname << (u16) (fields_size & 0xFFFF );
1001
996
1002
997
for (std::map<std::string, std::string>::const_iterator
1003
998
i = fields.begin (); i != fields.end (); i++) {
1004
999
const std::string &name = i->first ;
1005
1000
const std::string &value = i->second ;
1006
- * pkt << name;
1007
- pkt-> putLongString (value);
1001
+ pkt << name;
1002
+ pkt. putLongString (value);
1008
1003
}
1009
1004
1010
- Send (pkt);
1005
+ Send (& pkt);
1011
1006
}
1012
1007
1013
1008
void Client::sendInventoryFields (const std::string &formname,
@@ -1016,18 +1011,18 @@ void Client::sendInventoryFields(const std::string &formname,
1016
1011
size_t fields_size = fields.size ();
1017
1012
FATAL_ERROR_IF (fields_size > 0xFFFF , " Unsupported number of inventory fields" );
1018
1013
1019
- NetworkPacket* pkt = new NetworkPacket (TOSERVER_INVENTORY_FIELDS, 0 );
1020
- * pkt << formname << (u16) (fields_size & 0xFFFF );
1014
+ NetworkPacket pkt (TOSERVER_INVENTORY_FIELDS, 0 );
1015
+ pkt << formname << (u16) (fields_size & 0xFFFF );
1021
1016
1022
1017
for (std::map<std::string, std::string>::const_iterator
1023
1018
i = fields.begin (); i != fields.end (); i++) {
1024
1019
const std::string &name = i->first ;
1025
1020
const std::string &value = i->second ;
1026
- * pkt << name;
1027
- pkt-> putLongString (value);
1021
+ pkt << name;
1022
+ pkt. putLongString (value);
1028
1023
}
1029
1024
1030
- Send (pkt);
1025
+ Send (& pkt);
1031
1026
}
1032
1027
1033
1028
void Client::sendInventoryAction (InventoryAction *a)
@@ -1039,19 +1034,19 @@ void Client::sendInventoryAction(InventoryAction *a)
1039
1034
// Make data buffer
1040
1035
std::string s = os.str ();
1041
1036
1042
- NetworkPacket* pkt = new NetworkPacket (TOSERVER_INVENTORY_ACTION, s.size ());
1043
- pkt-> putRawString (s.c_str (),s.size ());
1037
+ NetworkPacket pkt (TOSERVER_INVENTORY_ACTION, s.size ());
1038
+ pkt. putRawString (s.c_str (),s.size ());
1044
1039
1045
- Send (pkt);
1040
+ Send (& pkt);
1046
1041
}
1047
1042
1048
1043
void Client::sendChatMessage (const std::wstring &message)
1049
1044
{
1050
- NetworkPacket* pkt = new NetworkPacket (TOSERVER_CHAT_MESSAGE, 2 + message.size () * sizeof (u16));
1045
+ NetworkPacket pkt (TOSERVER_CHAT_MESSAGE, 2 + message.size () * sizeof (u16));
1051
1046
1052
- * pkt << message;
1047
+ pkt << message;
1053
1048
1054
- Send (pkt);
1049
+ Send (& pkt);
1055
1050
}
1056
1051
1057
1052
void Client::sendChangePassword (const std::wstring &oldpassword,
@@ -1065,58 +1060,58 @@ void Client::sendChangePassword(const std::wstring &oldpassword,
1065
1060
std::string oldpwd = translatePassword (playername, oldpassword);
1066
1061
std::string newpwd = translatePassword (playername, newpassword);
1067
1062
1068
- NetworkPacket* pkt = new NetworkPacket (TOSERVER_PASSWORD_LEGACY, 2 * PASSWORD_SIZE);
1063
+ NetworkPacket pkt (TOSERVER_PASSWORD_LEGACY, 2 * PASSWORD_SIZE);
1069
1064
1070
1065
for (u8 i = 0 ; i < PASSWORD_SIZE; i++) {
1071
- * pkt << (u8) (i < oldpwd.length () ? oldpwd[i] : 0 );
1066
+ pkt << (u8) (i < oldpwd.length () ? oldpwd[i] : 0 );
1072
1067
}
1073
1068
1074
1069
for (u8 i = 0 ; i < PASSWORD_SIZE; i++) {
1075
- * pkt << (u8) (i < newpwd.length () ? newpwd[i] : 0 );
1070
+ pkt << (u8) (i < newpwd.length () ? newpwd[i] : 0 );
1076
1071
}
1077
1072
1078
- Send (pkt);
1073
+ Send (& pkt);
1079
1074
}
1080
1075
1081
1076
1082
1077
void Client::sendDamage (u8 damage)
1083
1078
{
1084
1079
DSTACK (__FUNCTION_NAME);
1085
1080
1086
- NetworkPacket* pkt = new NetworkPacket (TOSERVER_DAMAGE, sizeof (u8));
1087
- * pkt << damage;
1088
- Send (pkt);
1081
+ NetworkPacket pkt (TOSERVER_DAMAGE, sizeof (u8));
1082
+ pkt << damage;
1083
+ Send (& pkt);
1089
1084
}
1090
1085
1091
1086
void Client::sendBreath (u16 breath)
1092
1087
{
1093
1088
DSTACK (__FUNCTION_NAME);
1094
1089
1095
- NetworkPacket* pkt = new NetworkPacket (TOSERVER_BREATH, sizeof (u16));
1096
- * pkt << breath;
1097
- Send (pkt);
1090
+ NetworkPacket pkt (TOSERVER_BREATH, sizeof (u16));
1091
+ pkt << breath;
1092
+ Send (& pkt);
1098
1093
}
1099
1094
1100
1095
void Client::sendRespawn ()
1101
1096
{
1102
1097
DSTACK (__FUNCTION_NAME);
1103
1098
1104
- NetworkPacket* pkt = new NetworkPacket (TOSERVER_RESPAWN, 0 );
1105
- Send (pkt);
1099
+ NetworkPacket pkt (TOSERVER_RESPAWN, 0 );
1100
+ Send (& pkt);
1106
1101
}
1107
1102
1108
1103
void Client::sendReady ()
1109
1104
{
1110
1105
DSTACK (__FUNCTION_NAME);
1111
1106
1112
- NetworkPacket* pkt = new NetworkPacket (TOSERVER_CLIENT_READY,
1107
+ NetworkPacket pkt (TOSERVER_CLIENT_READY,
1113
1108
1 + 1 + 1 + 1 + 2 + sizeof (char ) * strlen (minetest_version_hash));
1114
1109
1115
- * pkt << (u8) VERSION_MAJOR << (u8) VERSION_MINOR << (u8) VERSION_PATCH_ORIG
1110
+ pkt << (u8) VERSION_MAJOR << (u8) VERSION_MINOR << (u8) VERSION_PATCH_ORIG
1116
1111
<< (u8) 0 << (u16) strlen (minetest_version_hash);
1117
1112
1118
- pkt-> putRawString (minetest_version_hash, (u16) strlen (minetest_version_hash));
1119
- Send (pkt);
1113
+ pkt. putRawString (minetest_version_hash, (u16) strlen (minetest_version_hash));
1114
+ Send (& pkt);
1120
1115
}
1121
1116
1122
1117
void Client::sendPlayerPos ()
@@ -1168,11 +1163,11 @@ void Client::sendPlayerPos()
1168
1163
[12+12+4+4] u32 keyPressed
1169
1164
*/
1170
1165
1171
- NetworkPacket* pkt = new NetworkPacket (TOSERVER_PLAYERPOS, 12 + 12 + 4 + 4 + 4 );
1166
+ NetworkPacket pkt (TOSERVER_PLAYERPOS, 12 + 12 + 4 + 4 + 4 );
1172
1167
1173
- * pkt << position << speed << pitch << yaw << keyPressed;
1168
+ pkt << position << speed << pitch << yaw << keyPressed;
1174
1169
1175
- Send (pkt);
1170
+ Send (& pkt);
1176
1171
}
1177
1172
1178
1173
void Client::sendPlayerItem (u16 item)
@@ -1188,11 +1183,11 @@ void Client::sendPlayerItem(u16 item)
1188
1183
myplayer->peer_id = our_peer_id;
1189
1184
assert (myplayer->peer_id == our_peer_id);
1190
1185
1191
- NetworkPacket* pkt = new NetworkPacket (TOSERVER_PLAYERITEM, 2 );
1186
+ NetworkPacket pkt (TOSERVER_PLAYERITEM, 2 );
1192
1187
1193
- * pkt << item;
1188
+ pkt << item;
1194
1189
1195
- Send (pkt);
1190
+ Send (& pkt);
1196
1191
}
1197
1192
1198
1193
void Client::removeNode (v3s16 p)
0 commit comments