diff options
author | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2013-02-13 18:05:13 +0200 |
---|---|---|
committer | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2013-02-13 18:05:13 +0200 |
commit | 49729a7593320662545b7c795f028d0f87827b0f (patch) | |
tree | 7bba69ac6cca15c29d1187c7267bf917fae14fa3 /proto_lib/packet.cpp | |
parent | e255c37eca94d4d9c23f689b473b106575b9e2fa (diff) |
proto lib fixes
Diffstat (limited to 'proto_lib/packet.cpp')
-rw-r--r-- | proto_lib/packet.cpp | 45 |
1 files changed, 16 insertions, 29 deletions
diff --git a/proto_lib/packet.cpp b/proto_lib/packet.cpp index 92d8508..0487f4f 100644 --- a/proto_lib/packet.cpp +++ b/proto_lib/packet.cpp @@ -170,41 +170,27 @@ std::list<service_s> *packet::cli_extract_services(packet& p) for(; i < i2; ++i) service.push_back((char)*i); i2++; + i = i2; i2 = std::find(i2, i3, delimiter); - bool bdesc = false; std::string cmd, desc; while(i2 < i3) { cmd.clear(); desc.clear(); - if(!bdesc) - { - i++; //wtf ? - for(; i < i2; ++i) - cmd.push_back((char)*i); - bdesc = true; - } - else - { - i++; //wtf ? - for(; i < i2; ++i) - desc.push_back((char)*i); - bdesc = false; - service_s::cmd c; - c.command = cmd; - c.description = desc; - cmds.push_back(c); - } + for(; i < i2; ++i) + cmd.push_back((char)*i); i2++; + i = i2; + i2 = std::find(i2, i3, delimiter); + for(; i < i2; ++i) + desc.push_back((char)*i); + service_s::cmd c; + c.command = cmd; + c.description = desc; + cmds.push_back(c); + i2++; + i = i2; i2 = std::find(i2, i3, delimiter); } - i++; //wtf ? - desc.clear(); - for(; i < i2; ++i) - desc.push_back((char)*i); - service_s::cmd c; - c.command = cmd; - c.description = desc; - cmds.push_back(c); } else //found service without commands { @@ -219,6 +205,7 @@ std::list<service_s> *packet::cli_extract_services(packet& p) s.cmds = cmds; s.service = service; list->push_back(s); + i++; } } return list; @@ -250,10 +237,10 @@ bool packet::serv_validate_client_proto(packet &p) return false; i += sizeof(type_auth); i++; //wtf ? -#ifdef DEBUG +/*#ifdef DEBUG printf("version found %d\n", *i); printf("actual version %d\n", proto_version); -#endif +#endif*/ if(*i < proto_version) return false; return true; |