There's no guarantee that a socket was involved at this point, so avoid displaying...
authorYang Tse <yangsita@gmail.com>
Mon, 13 Oct 2008 06:16:02 +0000 (06:16 +0000)
committerYang Tse <yangsita@gmail.com>
Mon, 13 Oct 2008 06:16:02 +0000 (06:16 +0000)
And on the other hand a message after setsockopt() certainly must use SOCKERRNO.

lib/connect.c

index 51857ec..3a90a65 100644 (file)
@@ -359,9 +359,7 @@ static CURLcode bindlocal(struct connectdata *conn,
          hostent_buf,
          sizeof(hostent_buf));
       */
-      data->state.os_errno = error = SOCKERRNO;
-      failf(data, "Couldn't bind to '%s', failed with errno %d: %s",
-            dev, error, Curl_strerror(conn, error));
+      failf(data, "Couldn't bind to '%s'", dev);
       if(h)
         Curl_resolv_unlock(data, h);
       return CURLE_INTERFACE_FAILED;
@@ -387,7 +385,7 @@ static CURLcode bindlocal(struct connectdata *conn,
        */
       if(setsockopt(sockfd, SOL_SOCKET, SO_BINDTODEVICE,
                      dev, strlen(dev)+1) != 0) {
-        error = ERRNO;
+        error = SOCKERRNO;
         infof(data, "SO_BINDTODEVICE %s failed with errno %d: %s; will do regular bind\n",
               dev, error, Curl_strerror(conn, error));
         /* This is typically "errno 1, error: Operation not permitted" if