From a186f8c3aaa10a088c9ac862b03da3adba159950 Mon Sep 17 00:00:00 2001 From: tqchen Date: Wed, 3 Dec 2014 11:19:43 -0800 Subject: [PATCH] ok --- src/socket.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/socket.h b/src/socket.h index 3386b7d1d..eba1b89f8 100644 --- a/src/socket.h +++ b/src/socket.h @@ -336,23 +336,25 @@ class TCPSocket : public Socket{ * \param str the string to be sent */ inline void SendStr(const std::string &str) { - unsigned len = static_cast(str.length()); + int len = static_cast(str.length()); utils::Assert(this->SendAll(&len, sizeof(len)) == sizeof(len), "error during send SendStr"); - utils::Assert(this->SendAll(str.c_str(), str.length()) == str.length(), - "error during send SendStr"); + if (len != 0) { + utils::Assert(this->SendAll(str.c_str(), str.length()) == str.length(), + "error during send SendStr"); + } } /*! * \brief recv a string from network * \param out_str the string to receive */ inline void RecvStr(std::string *out_str) { - unsigned len; + int len; utils::Assert(this->RecvAll(&len, sizeof(len)) == sizeof(len), "error during send RecvStr"); out_str->resize(len); if (len != 0) { - utils::Assert(this->RecvAll(&(*out_str)[0], len) == len, + utils::Assert(this->RecvAll(&(*out_str)[0], len) == out_str->length(), "error during send SendStr"); } }