Index: ../../base/socket/socket.cpp =================================================================== --- ../../base/socket/socket.cpp (revision 3035) +++ ../../base/socket/socket.cpp (working copy) @@ -780,7 +780,7 @@ /*! *Inherited from Stream. - *Return zero on success. + *Return zero on success, or -1 error. Also sets nbr to -1 if error. */ int Socket::read(char* buffer, u_long len, u_long *nbr) { @@ -794,16 +794,14 @@ /*! *Inherited from Stream. - *Return values are equals to send. + *Return zero on success, or -1 on error. Also sets nbw to -1 if error. */ int Socket::write(const char* buffer, u_long len, u_long *nbw) { - int ret = send(buffer, len, 0); - - if(ret == -1) + *nbw = static_cast(send(buffer, len, 0)); + + if ( *nbw == static_cast(-1) ) return -1; - *nbw = static_cast(ret); - return 0; }