net_prepare() returns int
diff --git a/library/net.c b/library/net.c
index 19f699d..0528000 100644
--- a/library/net.c
+++ b/library/net.c
@@ -122,7 +122,7 @@
 /*
  * Prepare for using the sockets interface
  */
-static void net_prepare( void )
+static int net_prepare( void )
 {
 #if ( defined(_WIN32) || defined(_WIN32_WCE) ) && !defined(EFIX64) && \
     !defined(EFI32)
@@ -139,6 +139,7 @@
 #if !defined(EFIX64) && !defined(EFI32)
     signal( SIGPIPE, SIG_IGN );
 #endif
+    return( 0 );
 #endif
 }
 
@@ -148,11 +149,12 @@
 int net_connect( int *fd, const char *host, int port )
 {
 #if defined(POLARSSL_HAVE_IPV6)
-    int ret = POLARSSL_ERR_NET_UNKNOWN_HOST;
+    int ret;
     struct addrinfo hints, *addr_list, *cur;
     char port_str[6];
 
-    net_prepare();
+    if( ( ret = net_prepare() ) != 0 )
+        return( ret );
 
     /* getaddrinfo expects port as a string */
     memset( port_str, 0, sizeof( port_str ) );
@@ -168,6 +170,7 @@
         return( POLARSSL_ERR_NET_UNKNOWN_HOST );
 
     /* Try the sockaddrs until a connection succeeds */
+    ret = POLARSSL_ERR_NET_UNKNOWN_HOST;
     for( cur = addr_list; cur != NULL; cur = cur->ai_next )
     {
         *fd = socket( cur->ai_family, cur->ai_socktype, cur->ai_protocol );
@@ -194,10 +197,12 @@
 #else
     /* Legacy IPv4-only version */
 
+    int ret;
     struct sockaddr_in server_addr;
     struct hostent *server_host;
 
-    net_prepare();
+    if( ( ret = net_prepare() ) != 0 )
+        return( ret );
 
     if( ( server_host = gethostbyname( host ) ) == NULL )
         return( POLARSSL_ERR_NET_UNKNOWN_HOST );
@@ -229,11 +234,12 @@
 int net_bind( int *fd, const char *bind_ip, int port )
 {
 #if defined(POLARSSL_HAVE_IPV6)
-    int n, ret = POLARSSL_ERR_NET_UNKNOWN_HOST;
+    int n, ret;
     struct addrinfo hints, *addr_list, *cur;
     char port_str[6];
 
-    net_prepare();
+    if( ( ret = net_prepare() ) != 0 )
+        return( ret );
 
     /* getaddrinfo expects port as a string */
     memset( port_str, 0, sizeof( port_str ) );
@@ -251,6 +257,7 @@
         return( POLARSSL_ERR_NET_UNKNOWN_HOST );
 
     /* Try the sockaddrs until a binding succeeds */
+    ret = POLARSSL_ERR_NET_UNKNOWN_HOST;
     for( cur = addr_list; cur != NULL; cur = cur->ai_next )
     {
         *fd = socket( cur->ai_family, cur->ai_socktype, cur->ai_protocol );
@@ -290,10 +297,11 @@
 #else
     /* Legacy IPv4-only version */
 
-    int n, c[4];
+    int ret, n, c[4];
     struct sockaddr_in server_addr;
 
-    net_prepare();
+    if( ( ret = net_prepare() ) != 0 )
+        return( ret );
 
     if( ( *fd = (int) socket( AF_INET, SOCK_STREAM, IPPROTO_IP ) ) < 0 )
         return( POLARSSL_ERR_NET_SOCKET_FAILED );