From 84ee2a4244d6149160d4469faa80bdb2c58ae4c9 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Tue, 7 Apr 2009 10:39:18 +0200 Subject: cleaned up cleanup code in test1_unix.c in network tests --- tests/network/test1_unix.c | 32 ++++---------------------------- 1 file changed, 4 insertions(+), 28 deletions(-) (limited to 'tests') diff --git a/tests/network/test1_unix.c b/tests/network/test1_unix.c index 2b29445..27faaaa 100644 --- a/tests/network/test1_unix.c +++ b/tests/network/test1_unix.c @@ -71,9 +71,9 @@ int main( int argc, char *argv[] ) { char *host; char *service; struct addrinfo hints; - struct addrinfo *result; + struct addrinfo *result = NULL; int error; - int fd; + int fd = -1; int res; int idle_secs; char read_buffer[READ_BUFFER_SIZE]; @@ -107,11 +107,6 @@ int main( int argc, char *argv[] ) { host = argv[1]; service = argv[2]; -#ifdef _WIN32 - WSADATA wsa_data; - WSAStartup( MAKEWORD( 2, 2 ), &wsa_data ); -#endif - /* tell getaddrinfo what we want */ memset( &hints, 0, sizeof( struct addrinfo ) ); hints.ai_flags = AI_PASSIVE; @@ -136,7 +131,6 @@ int main( int argc, char *argv[] ) { /* set socket non-blocking for asynchronous connect */ if( !wolf_network_sock_nonblocking( fd ) ) { - (void)close( fd ); fprintf( stderr, "set nonblocking failed for socket: %s (%d)\n", strerror( errno ), errno ); goto FAIL; } @@ -153,7 +147,6 @@ int main( int argc, char *argv[] ) { } else if( errno == EINTR ) { /* interrupted, no problem, the connection goes on anyway */ } else { - (void)close( fd ); fprintf( stderr, "connect failed: %s (%d)\n", strerror( errno ), errno ); goto FAIL; } @@ -178,7 +171,6 @@ CONNECT_SELECT_AGAIN: /* fatal errors */ fprintf( stderr, "select failed: %s (%d)\n", strerror( errno ), errno ); - (void)close( fd ); goto FAIL; } } else if( res == 0 ) { @@ -215,7 +207,6 @@ Not really realiable! Can result 0 though the server is not there! if( res < 0 ) { fprintf( stderr, "getsockopt for connection check failed: %s (%d)\n", strerror( errno ), errno ); - (void)close( fd ); goto FAIL; } else { if( error == 0 ) { @@ -223,14 +214,12 @@ Not really realiable! Can result 0 though the server is not there! } else { fprintf( stderr, "SO_ERROR is not ok: %s (%d)\n", strerror( error ), error ); - (void)close( fd ); goto FAIL; } } */ } else { fprintf( stderr, "Socket not ready after select\n" ); - (void)close( fd ); goto FAIL; } } @@ -240,7 +229,6 @@ CONNECTED: peer_addr_len = sizeof( peer_addr ); res = getsockname( fd, &peer_addr.addr, &peer_addr_len ); if( res < 0 ) { - (void)close( fd ); fprintf( stderr, "getsockname failed: %s (%d)\n", strerror( errno ), errno ); goto FAIL; } @@ -249,7 +237,6 @@ CONNECTED: peer_service, NI_MAXSERV, NI_NUMERICSERV | NI_NUMERICHOST ); if( res < 0 ) { - (void)close( fd ); fprintf( stderr, "getnameinfo failed: %s (%d)\n", gai_strerror( error ), error ); goto FAIL; @@ -260,11 +247,9 @@ CONNECTED: if( !wolf_network_sock_nonblocking( STDIN_FILENO ) ) { (void)close( fd ); - fprintf( stderr, "set nonblocking failed for stdin: %s (%d)\n", strerror( errno ), errno ); goto FAIL; } if( !wolf_network_sock_nonblocking( STDOUT_FILENO ) ) { - (void)close( fd ); fprintf( stderr, "set nonblocking failed for stdout: %s (%d)\n", strerror( errno ), errno ); goto FAIL; } @@ -342,7 +327,6 @@ fprintf( stderr, "select %04d read_fd: %s write_fd: %s wbuf: %d rbuf: %d stdin_e /* fatal errors */ fprintf( stderr, "select failed: %s (%d)\n", strerror( errno ), errno ); - (void)close( fd ); goto FAIL; } } else if( res == 0 ) { @@ -367,7 +351,6 @@ fprintf( stderr, "select %04d read_fd: %s write_fd: %s wbuf: %d rbuf: %d stdin_e } else { fprintf( stderr, "write to stdout failed: %s (%d)\n", strerror( errno ), errno ); - (void)close( fd ); goto FAIL; } } else { @@ -389,7 +372,6 @@ fprintf( stderr, "select %04d read_fd: %s write_fd: %s wbuf: %d rbuf: %d stdin_e } else { fprintf( stderr, "write to socket failed: %s (%d)\n", strerror( errno ), errno ); - (void)close( fd ); goto FAIL; } } else { @@ -411,7 +393,6 @@ fprintf( stderr, "select %04d read_fd: %s write_fd: %s wbuf: %d rbuf: %d stdin_e } else { fprintf( stderr, "read from socket failed: %s (%d)\n", strerror( errno ), errno ); - (void)close( fd ); goto FAIL; } } else if( rres == 0 ) { @@ -439,7 +420,6 @@ fprintf( stderr, "select %04d read_fd: %s write_fd: %s wbuf: %d rbuf: %d stdin_e } else { fprintf( stderr, "read from stdin failed: %s (%d)\n", strerror( errno ), errno ); - (void)close( fd ); goto FAIL; } } else if( rres == 0 ) { @@ -491,16 +471,12 @@ END: goto OK; FAIL: - -#ifdef _WIN32 - WSACleanup( ); -#endif + if( fd >= 0 ) (void)close( fd ); + if( result != NULL ) freeaddrinfo( result ); return EXIT_FAILURE; OK: - freeaddrinfo( result ); - return EXIT_SUCCESS; } -- cgit v1.2.3-54-g00ecf