diff options
author | George Hazan <george.hazan@gmail.com> | 2015-08-11 13:33:42 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2015-08-11 13:33:42 +0000 |
commit | 85bd008c039eb1d93894e94fba9d158a42a71a12 (patch) | |
tree | 2d72d10759f6928e9e4b960175d2de01b5cf7e12 /protocols/Xfire/src/buddylistgamespacket.cpp | |
parent | 222802c2986dcaf029fdfb828b7679bdabfa7bb2 (diff) |
massive code cleaning
git-svn-id: http://svn.miranda-ng.org/main/trunk@14910 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/Xfire/src/buddylistgamespacket.cpp')
-rw-r--r-- | protocols/Xfire/src/buddylistgamespacket.cpp | 214 |
1 files changed, 100 insertions, 114 deletions
diff --git a/protocols/Xfire/src/buddylistgamespacket.cpp b/protocols/Xfire/src/buddylistgamespacket.cpp index 33ede53079..240f2a0cf2 100644 --- a/protocols/Xfire/src/buddylistgamespacket.cpp +++ b/protocols/Xfire/src/buddylistgamespacket.cpp @@ -22,123 +22,109 @@ #include "stdafx.h" -#include <vector> -#include <string> - #include "buddylistgamespacket.h" #include "xfireparse.h" #include "variablevalue.h" #include "xdebug.h" -namespace xfirelib { - using namespace std; - - BuddyListGamesPacket::BuddyListGamesPacket() { - ips = 0; - ports = 0; - gameids = 0; - gameids2 = 0; - sids = 0; - type = 0; - } - BuddyListGamesPacket::~BuddyListGamesPacket() { - if (ips) { - for( vector<char*>::iterator it = ips->begin() ; - it != ips->end() ; it++) { - delete[] *it; - } - } - delete ips; - delete ports; - delete gameids; - delete gameids2; - delete sids; - } - - void BuddyListGamesPacket::parseContent(char *buf, int length, int numberOfAtts) { - int index = 0; - int numberOfSids = 0; - VariableValue val; - - index += val.readName(buf,index); - index ++; // Ignore 04 - index ++; // Ignore 03 - numberOfSids = (unsigned char) buf[index]; - index ++; // Ignore 00 - index ++; - sids = new vector<char *>; - for(int i = 0 ; i < numberOfSids ; i++) { - index += val.readValue(buf,index,16); - char *sid = new char[16]; - memcpy(sid,val.getValue(),16); - sids->push_back(sid); - } - - index += val.readName(buf,index); - index ++; // Ignore 04 - index ++; // Ignore 03 - numberOfSids = (unsigned char) buf[index]; - index ++; // Ignore 00 - index ++; - - gameids = new vector<long>; - gameids2 = new vector<long>; - for(int i = 0 ; i < numberOfSids ; i++) { - index += val.readValue(buf,index,2); - long game = val.getValueAsLong(); - index += val.readValue(buf,index,2); - long game2 = val.getValueAsLong(); - gameids->push_back(game); - gameids2->push_back(game2); - } - - index += val.readName(buf,index); - index ++; // Ignore 04 - index ++; // Ignore 03 - numberOfSids = (unsigned char) buf[index]; - index ++; // Ignore 00 - index ++; - - ips = new vector<char *>; - for(int i = 0 ; i < numberOfSids ; i++) { - index += val.readValue(buf,index,4); - char *ip = new char[4]; - memcpy(ip,val.getValue(),4); - ips->push_back(ip); - } - - index += val.readName(buf,index); - index ++; // Ignore 04 - index ++; // Ignore 03 - numberOfSids = (unsigned char) buf[index]; - index ++; // Ignore 00 - index ++; - -// static int was=0; -// int portwasnull=0; - - -// was++; - - ports = new vector<long>; - for(int i = 0 ; i < numberOfSids ; i++) { - index += val.readValue(buf,index,2); - long port = val.getValueAsLong(); -// if (port==0) -// { -// portwasnull=1; -// } - ports->push_back(port); - index += 2; // fixed port bug - dufte - } - -// char temp[512]; - /* sprintf(temp,"packet%d_%d.dmp",was,portwasnull); - FILE * f = fopen(temp,"wb"); - fwrite(buf,length,1,f); - fclose(f);*/ - - } - - +using namespace std; + +namespace xfirelib +{ + BuddyListGamesPacket::BuddyListGamesPacket() + { + ips = 0; + ports = 0; + gameids = 0; + gameids2 = 0; + sids = 0; + type = 0; + } + BuddyListGamesPacket::~BuddyListGamesPacket() + { + if (ips) { + for (vector<char*>::iterator it = ips->begin(); + it != ips->end(); it++) { + delete[] * it; + } + } + delete ips; + delete ports; + delete gameids; + delete gameids2; + delete sids; + } + + void BuddyListGamesPacket::parseContent(char *buf, int, int) + { + int index = 0; + int numberOfSids = 0; + VariableValue val; + + index += val.readName(buf, index); + index++; // Ignore 04 + index++; // Ignore 03 + numberOfSids = (unsigned char)buf[index]; + index++; // Ignore 00 + index++; + sids = new vector<char *>; + for (int i = 0; i < numberOfSids; i++) { + index += val.readValue(buf, index, 16); + char *sid = new char[16]; + memcpy(sid, val.getValue(), 16); + sids->push_back(sid); + } + + index += val.readName(buf, index); + index++; // Ignore 04 + index++; // Ignore 03 + numberOfSids = (unsigned char)buf[index]; + index++; // Ignore 00 + index++; + + gameids = new vector<long>; + gameids2 = new vector<long>; + for (int i = 0; i < numberOfSids; i++) { + index += val.readValue(buf, index, 2); + long game = val.getValueAsLong(); + index += val.readValue(buf, index, 2); + long game2 = val.getValueAsLong(); + gameids->push_back(game); + gameids2->push_back(game2); + } + + index += val.readName(buf, index); + index++; // Ignore 04 + index++; // Ignore 03 + numberOfSids = (unsigned char)buf[index]; + index++; // Ignore 00 + index++; + + ips = new vector<char *>; + for (int i = 0; i < numberOfSids; i++) { + index += val.readValue(buf, index, 4); + char *ip = new char[4]; + memcpy(ip, val.getValue(), 4); + ips->push_back(ip); + } + + index += val.readName(buf, index); + index++; // Ignore 04 + index++; // Ignore 03 + numberOfSids = (unsigned char)buf[index]; + index++; // Ignore 00 + index++; + + ports = new vector<long>; + for (int i = 0; i < numberOfSids; i++) { + index += val.readValue(buf, index, 2); + long port = val.getValueAsLong(); + // if (port==0) + // { + // portwasnull=1; + // } + ports->push_back(port); + index += 2; // fixed port bug - dufte + } + } }; |