In rfc2553_connect_to() and no_rfc2553_connect_to(), factor the socket() call out...
[privoxy.git] / jbsockets.c
index 5906f3f..867c1fe 100644 (file)
@@ -1,4 +1,4 @@
-const char jbsockets_rcs[] = "$Id: jbsockets.c,v 1.88 2011/03/27 13:56:27 fabiankeil Exp $";
+const char jbsockets_rcs[] = "$Id: jbsockets.c,v 1.90 2011/03/27 13:57:08 fabiankeil Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/jbsockets.c,v $
@@ -254,11 +254,11 @@ static jb_socket rfc2553_connect_to(const char *host, int portnum, struct client
          continue;
       }
 
+      fd = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol);
 #ifdef _WIN32
-      if ((fd = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol)) ==
-            JB_INVALID_SOCKET)
+      if (fd == JB_INVALID_SOCKET)
 #else
-      if ((fd = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol)) < 0)
+      if (fd < 0)
 #endif
       {
          continue;
@@ -282,10 +282,12 @@ static jb_socket rfc2553_connect_to(const char *host, int portnum, struct client
       connect_failed = 0;
       while (connect(fd, rp->ai_addr, rp->ai_addrlen) == JB_INVALID_SOCKET)
       {
+#ifdef __OS2__
+         errno = sock_errno();
+#endif /* __OS2__ */
+
 #ifdef _WIN32
          if (errno == WSAEINPROGRESS)
-#elif __OS2__
-         if (sock_errno() == EINPROGRESS)
 #else /* ifndef _WIN32 */
          if (errno == EINPROGRESS)
 #endif /* ndef _WIN32 || __OS2__ */
@@ -293,11 +295,7 @@ static jb_socket rfc2553_connect_to(const char *host, int portnum, struct client
             break;
          }
 
-#ifdef __OS2__
-         if (sock_errno() != EINTR)
-#else
          if (errno != EINTR)
-#endif /* __OS2__ */
          {
             close_socket(fd);
             connect_failed = 1;
@@ -428,10 +426,11 @@ static jb_socket no_rfc2553_connect_to(const char *host, int portnum, struct cli
    }
 #endif /* ndef _WIN32 */
 
+   fd = socket(inaddr.sin_family, SOCK_STREAM, 0);
 #ifdef _WIN32
-   if ((fd = socket(inaddr.sin_family, SOCK_STREAM, 0)) == JB_INVALID_SOCKET)
+   if (fd == JB_INVALID_SOCKET)
 #else
-   if ((fd = socket(inaddr.sin_family, SOCK_STREAM, 0)) < 0)
+   if (fd < 0)
 #endif
    {
       return(JB_INVALID_SOCKET);