From 083c8c734e8af037d8ad3a1a35475a5d4756572c Mon Sep 17 00:00:00 2001 From: Loic Blot Date: Fri, 13 Mar 2015 22:01:49 +0100 Subject: Replace NetworkPacket pointers to references --- src/client.cpp | 153 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 74 insertions(+), 79 deletions(-) (limited to 'src/client.cpp') diff --git a/src/client.cpp b/src/client.cpp index 8e0f657e2..dce89eb1c 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -407,15 +407,15 @@ void Client::step(float dtime) snprintf(pName, PLAYERNAME_SIZE, "%s", myplayer->getName()); snprintf(pPassword, PASSWORD_SIZE, "%s", m_password.c_str()); - NetworkPacket* pkt = new NetworkPacket(TOSERVER_INIT_LEGACY, + NetworkPacket pkt(TOSERVER_INIT_LEGACY, 1 + PLAYERNAME_SIZE + PASSWORD_SIZE + 2 + 2); - *pkt << (u8) SER_FMT_VER_HIGHEST_READ; - pkt->putRawString(pName,PLAYERNAME_SIZE); - pkt->putRawString(pPassword, PASSWORD_SIZE); - *pkt << (u16) CLIENT_PROTOCOL_VERSION_MIN << (u16) CLIENT_PROTOCOL_VERSION_MAX; + pkt << (u8) SER_FMT_VER_HIGHEST_READ; + pkt.putRawString(pName,PLAYERNAME_SIZE); + pkt.putRawString(pPassword, PASSWORD_SIZE); + pkt << (u16) CLIENT_PROTOCOL_VERSION_MIN << (u16) CLIENT_PROTOCOL_VERSION_MAX; - Send(pkt); + Send(&pkt); } // Not connected, return @@ -455,19 +455,19 @@ void Client::step(float dtime) [3+6] v3s16 pos_1 ... */ - NetworkPacket* pkt = new NetworkPacket(TOSERVER_DELETEDBLOCKS, 1 + sizeof(v3s16) * sendlist.size()); + NetworkPacket pkt(TOSERVER_DELETEDBLOCKS, 1 + sizeof(v3s16) * sendlist.size()); - *pkt << (u8) sendlist.size(); + pkt << (u8) sendlist.size(); u32 k = 0; for(std::vector::iterator j = sendlist.begin(); j != sendlist.end(); ++j) { - *pkt << *j; + pkt << *j; k++; } - Send(pkt); + Send(&pkt); if(i == deleted_blocks.end()) break; @@ -575,9 +575,9 @@ void Client::step(float dtime) [0] u8 count [1] v3s16 pos_0 */ - NetworkPacket* pkt = new NetworkPacket(TOSERVER_GOTBLOCKS, 1 + 6); - *pkt << (u8) 1 << r.p; - Send(pkt); + NetworkPacket pkt(TOSERVER_GOTBLOCKS, 1 + 6); + pkt << (u8) 1 << r.p; + Send(&pkt); } } @@ -666,15 +666,15 @@ void Client::step(float dtime) size_t server_ids = removed_server_ids.size(); assert(server_ids <= 0xFFFF); - NetworkPacket* pkt = new NetworkPacket(TOSERVER_REMOVED_SOUNDS, 2 + server_ids * 4); + NetworkPacket pkt(TOSERVER_REMOVED_SOUNDS, 2 + server_ids * 4); - *pkt << (u16) (server_ids & 0xFFFF); + pkt << (u16) (server_ids & 0xFFFF); for(std::set::iterator i = removed_server_ids.begin(); i != removed_server_ids.end(); i++) - *pkt << *i; + pkt << *i; - Send(pkt); + Send(&pkt); } } @@ -794,27 +794,27 @@ void Client::request_media(const std::vector &file_requests) FATAL_ERROR_IF(file_requests_size > 0xFFFF, "Unsupported number of file requests"); // Packet dynamicly resized - NetworkPacket* pkt = new NetworkPacket(TOSERVER_REQUEST_MEDIA, 2 + 0); + NetworkPacket pkt(TOSERVER_REQUEST_MEDIA, 2 + 0); - *pkt << (u16) (file_requests_size & 0xFFFF); + pkt << (u16) (file_requests_size & 0xFFFF); for(std::vector::const_iterator i = file_requests.begin(); i != file_requests.end(); ++i) { - *pkt << (*i); + pkt << (*i); } - Send(pkt); + Send(&pkt); - infostream<<"Client: Sending media request list to server (" - <getCommand(); + ToClientCommand command = (ToClientCommand) pkt.getCommand(); //infostream<<"Client: received command="<::const_iterator i = fields.begin(); i != fields.end(); i++) { const std::string &name = i->first; const std::string &value = i->second; - *pkt << name; - pkt->putLongString(value); + pkt << name; + pkt.putLongString(value); } - Send(pkt); + Send(&pkt); } void Client::sendInventoryFields(const std::string &formname, @@ -1016,18 +1011,18 @@ void Client::sendInventoryFields(const std::string &formname, size_t fields_size = fields.size(); FATAL_ERROR_IF(fields_size > 0xFFFF, "Unsupported number of inventory fields"); - NetworkPacket* pkt = new NetworkPacket(TOSERVER_INVENTORY_FIELDS, 0); - *pkt << formname << (u16) (fields_size & 0xFFFF); + NetworkPacket pkt(TOSERVER_INVENTORY_FIELDS, 0); + pkt << formname << (u16) (fields_size & 0xFFFF); for(std::map::const_iterator i = fields.begin(); i != fields.end(); i++) { const std::string &name = i->first; const std::string &value = i->second; - *pkt << name; - pkt->putLongString(value); + pkt << name; + pkt.putLongString(value); } - Send(pkt); + Send(&pkt); } void Client::sendInventoryAction(InventoryAction *a) @@ -1039,19 +1034,19 @@ void Client::sendInventoryAction(InventoryAction *a) // Make data buffer std::string s = os.str(); - NetworkPacket* pkt = new NetworkPacket(TOSERVER_INVENTORY_ACTION, s.size()); - pkt->putRawString(s.c_str(),s.size()); + NetworkPacket pkt(TOSERVER_INVENTORY_ACTION, s.size()); + pkt.putRawString(s.c_str(),s.size()); - Send(pkt); + Send(&pkt); } void Client::sendChatMessage(const std::wstring &message) { - NetworkPacket* pkt = new NetworkPacket(TOSERVER_CHAT_MESSAGE, 2 + message.size() * sizeof(u16)); + NetworkPacket pkt(TOSERVER_CHAT_MESSAGE, 2 + message.size() * sizeof(u16)); - *pkt << message; + pkt << message; - Send(pkt); + Send(&pkt); } void Client::sendChangePassword(const std::wstring &oldpassword, @@ -1065,17 +1060,17 @@ void Client::sendChangePassword(const std::wstring &oldpassword, std::string oldpwd = translatePassword(playername, oldpassword); std::string newpwd = translatePassword(playername, newpassword); - NetworkPacket* pkt = new NetworkPacket(TOSERVER_PASSWORD_LEGACY, 2 * PASSWORD_SIZE); + NetworkPacket pkt(TOSERVER_PASSWORD_LEGACY, 2 * PASSWORD_SIZE); for(u8 i = 0; i < PASSWORD_SIZE; i++) { - *pkt << (u8) (i < oldpwd.length() ? oldpwd[i] : 0); + pkt << (u8) (i < oldpwd.length() ? oldpwd[i] : 0); } for(u8 i = 0; i < PASSWORD_SIZE; i++) { - *pkt << (u8) (i < newpwd.length() ? newpwd[i] : 0); + pkt << (u8) (i < newpwd.length() ? newpwd[i] : 0); } - Send(pkt); + Send(&pkt); } @@ -1083,40 +1078,40 @@ void Client::sendDamage(u8 damage) { DSTACK(__FUNCTION_NAME); - NetworkPacket* pkt = new NetworkPacket(TOSERVER_DAMAGE, sizeof(u8)); - *pkt << damage; - Send(pkt); + NetworkPacket pkt(TOSERVER_DAMAGE, sizeof(u8)); + pkt << damage; + Send(&pkt); } void Client::sendBreath(u16 breath) { DSTACK(__FUNCTION_NAME); - NetworkPacket* pkt = new NetworkPacket(TOSERVER_BREATH, sizeof(u16)); - *pkt << breath; - Send(pkt); + NetworkPacket pkt(TOSERVER_BREATH, sizeof(u16)); + pkt << breath; + Send(&pkt); } void Client::sendRespawn() { DSTACK(__FUNCTION_NAME); - NetworkPacket* pkt = new NetworkPacket(TOSERVER_RESPAWN, 0); - Send(pkt); + NetworkPacket pkt(TOSERVER_RESPAWN, 0); + Send(&pkt); } void Client::sendReady() { DSTACK(__FUNCTION_NAME); - NetworkPacket* pkt = new NetworkPacket(TOSERVER_CLIENT_READY, + NetworkPacket pkt(TOSERVER_CLIENT_READY, 1 + 1 + 1 + 1 + 2 + sizeof(char) * strlen(minetest_version_hash)); - *pkt << (u8) VERSION_MAJOR << (u8) VERSION_MINOR << (u8) VERSION_PATCH_ORIG + pkt << (u8) VERSION_MAJOR << (u8) VERSION_MINOR << (u8) VERSION_PATCH_ORIG << (u8) 0 << (u16) strlen(minetest_version_hash); - pkt->putRawString(minetest_version_hash, (u16) strlen(minetest_version_hash)); - Send(pkt); + pkt.putRawString(minetest_version_hash, (u16) strlen(minetest_version_hash)); + Send(&pkt); } void Client::sendPlayerPos() @@ -1168,11 +1163,11 @@ void Client::sendPlayerPos() [12+12+4+4] u32 keyPressed */ - NetworkPacket* pkt = new NetworkPacket(TOSERVER_PLAYERPOS, 12 + 12 + 4 + 4 + 4); + NetworkPacket pkt(TOSERVER_PLAYERPOS, 12 + 12 + 4 + 4 + 4); - *pkt << position << speed << pitch << yaw << keyPressed; + pkt << position << speed << pitch << yaw << keyPressed; - Send(pkt); + Send(&pkt); } void Client::sendPlayerItem(u16 item) @@ -1188,11 +1183,11 @@ void Client::sendPlayerItem(u16 item) myplayer->peer_id = our_peer_id; assert(myplayer->peer_id == our_peer_id); - NetworkPacket* pkt = new NetworkPacket(TOSERVER_PLAYERITEM, 2); + NetworkPacket pkt(TOSERVER_PLAYERITEM, 2); - *pkt << item; + pkt << item; - Send(pkt); + Send(&pkt); } void Client::removeNode(v3s16 p) -- cgit v1.2.3