From 49729a7593320662545b7c795f028d0f87827b0f Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Wed, 13 Feb 2013 18:05:13 +0200 Subject: proto lib fixes --- proto_lib/packet.cpp | 45 ++++++++++++++++----------------------------- 1 file changed, 16 insertions(+), 29 deletions(-) (limited to 'proto_lib/packet.cpp') 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 *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 *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; -- cgit v1.2.3