summaryrefslogtreecommitdiff
path: root/proto_lib/packet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'proto_lib/packet.cpp')
-rw-r--r--proto_lib/packet.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/proto_lib/packet.cpp b/proto_lib/packet.cpp
index 0ed3150..92272a8 100644
--- a/proto_lib/packet.cpp
+++ b/proto_lib/packet.cpp
@@ -271,11 +271,18 @@ packet *packet::serv_make_command_reply_packet(std::string &str, status s)
pack_serv_header(v);
pack_buffer(type_command, sizeof(type_command), v);
v.push_back(s);
- if(!str.empty())
- {
- for(size_t i = 0; i < str.length(); i++)
- v.push_back(str[i]);
- }
+ pack_buffer(str, v);
+ pack_buffer(proto_footer, sizeof(proto_footer), v);
+ return new packet(v);
+}
+
+packet *packet::serv_make_command_reply_packet(std::vector<unsigned char>& data, status s)
+{
+ std::vector<unsigned char> v;
+ pack_serv_header(v);
+ pack_buffer(type_command, sizeof(type_command), v);
+ v.push_back(s);
+ pack_buffer(data, v);
pack_buffer(proto_footer, sizeof(proto_footer), v);
return new packet(v);
}