diff -up rudesocket-1.3.0/src/socket_tcpclient.cpp.leak rudesocket-1.3.0/src/socket_tcpclient.cpp
--- rudesocket-1.3.0/src/socket_tcpclient.cpp.leak 2008-02-07 00:01:02.000000000 +0100
+++ rudesocket-1.3.0/src/socket_tcpclient.cpp 2012-04-04 16:57:30.810990682 +0200
@@ -303,7 +303,7 @@ bool Socket_TCPClient::close()
{
if(d_comm != (Socket_Comm*) 0)
{
- if(d_comm->finish())
+ if((void*) d_sock != NULL)
{
#ifdef WIN32
@@ -312,10 +312,11 @@ bool Socket_TCPClient::close()
::shutdown(d_sock, SHUT_RDWR);
::close(d_sock);
#endif
- return true;
+ } else {
+ setError("Socket_TCPClient::close: d_sock is null!");
+ return false;
}
- else
- {
+ if (!d_comm->finish()) {
setError(d_comm->getError());
return false;
}
@@ -325,6 +326,6 @@ bool Socket_TCPClient::close()
setError("Socket_TCPClient::close does not have a Socket_Comm to close");
return false;
}
+ return true;
}
}}
-