Blob Blame History Raw
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;
 }
 }}
-