diff --git a/include/opendht/network_engine.h b/include/opendht/network_engine.h index ec4f7e74110fcf8e6713590787b8ff6f28b6f914..ace4b6d01fc865d0671057874672856ab6661591 100644 --- a/include/opendht/network_engine.h +++ b/include/opendht/network_engine.h @@ -563,7 +563,7 @@ private: socklen_t salen, TransId tid, uint16_t code, - const char *message, + const std::string& message, bool include_id=false); RequestAnswer deserializeNodesValues(ParsedMessage& msg); diff --git a/src/network_engine.cpp b/src/network_engine.cpp index 4dc267b866abc91c8cf9d8c783b3260ef033c056..09b0ac0fbc8e4f0bcb6b32292c56a164a5c8035d 100644 --- a/src/network_engine.cpp +++ b/src/network_engine.cpp @@ -708,7 +708,7 @@ NetworkEngine::sendError(const sockaddr* sa, socklen_t salen, TransId tid, uint16_t code, - const char *message, + const std::string& message, bool include_id) { msgpack::sbuffer buffer; msgpack::packer<msgpack::sbuffer> pk(&buffer); @@ -716,8 +716,7 @@ NetworkEngine::sendError(const sockaddr* sa, pk.pack(std::string("e")); pk.pack_array(2); pk.pack(code); - pk.pack_str(strlen(message)); - pk.pack_str_body(message, strlen(message)); + pk.pack(message); if (include_id) { pk.pack(std::string("r")); pk.pack_map(1);