Merge branch 'master' of metalzone:public-git/preload-hacks
[preload-hacks] / noip.c
diff --git a/noip.c b/noip.c
index 04abe93..237bfd0 100644 (file)
--- a/noip.c
+++ b/noip.c
@@ -882,17 +882,22 @@ int connect(int sk, const struct sockaddr *sa, socklen_t len)
   int fixup_p = 0;
   int rc;
 
-  if (sa->sa_family == AF_INET) {
-    PRESERVING_ERRNO({
-      do_implicit_bind(sk, &sa, &len, &sun);
-      fixup_p = 1;
-    });
-  }
-  rc = real_connect(sk, sa, len);
-  if (rc < 0) {
-    switch (errno) {
-      case ENOENT:     errno = ECONNREFUSED;   break;
-    }
+  switch (sa->sa_family) {
+    case AF_INET:
+      PRESERVING_ERRNO({
+       do_implicit_bind(sk, &sa, &len, &sun);
+       fixup_p = 1;
+      });
+      rc = real_connect(sk, sa, len);
+      if (rc < 0) {
+       switch (errno) {
+         case ENOENT:  errno = ECONNREFUSED;   break;
+       }
+      }
+      break;
+    default:
+      rc = real_connect(sk, sa, len);
+      break;
   }
   return rc;
 }