summaryrefslogtreecommitdiff
path: root/lib/connect.c
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2007-02-16 18:19:35 +0000
committerYang Tse <yangsita@gmail.com>2007-02-16 18:19:35 +0000
commita1d598399146984c99baa46db148e87c75261033 (patch)
treea2572fd8f9c9f76e746ee04f7fc5dd46f1fe44f9 /lib/connect.c
parent4894ce16fc7af89d876e2f70db4dded7e1663198 (diff)
downloadcurl-a1d598399146984c99baa46db148e87c75261033.tar.gz
use macros ERRNO, SET_ERRNO(), SOCKERRNO and SET_SOCKERRNO() for errno handling
Diffstat (limited to 'lib/connect.c')
-rw-r--r--lib/connect.c29
1 files changed, 8 insertions, 21 deletions
diff --git a/lib/connect.c b/lib/connect.c
index 37db6e228..464b59098 100644
--- a/lib/connect.c
+++ b/lib/connect.c
@@ -116,19 +116,6 @@ singleipconnect(struct connectdata *conn,
bool *connected);
/*
- * Curl_sockerrno() returns the *socket-related* errno (or equivalent) on this
- * platform to hide platform specific for the function that calls this.
- */
-int Curl_sockerrno(void)
-{
-#ifdef USE_WINSOCK
- return (int)WSAGetLastError();
-#else
- return errno;
-#endif
-}
-
-/*
* Curl_nonblock() set the given socket to either blocking or non-blocking
* mode based on the 'nonblock' boolean argument. This function is highly
* portable.
@@ -332,7 +319,7 @@ static CURLcode bindlocal(struct connectdata *conn,
if (setsockopt(sockfd, SOL_SOCKET, SO_BINDTODEVICE,
data->set.device, strlen(data->set.device)+1) != 0) {
/* printf("Failed to BINDTODEVICE, socket: %d device: %s error: %s\n",
- sockfd, data->set.device, Curl_strerror(Curl_sockerrno())); */
+ sockfd, data->set.device, Curl_strerror(SOCKERRNO)); */
infof(data, "SO_BINDTODEVICE %s failed\n",
data->set.device);
/* This is typically "errno 1, error: Operation not permitted" if
@@ -409,7 +396,7 @@ static CURLcode bindlocal(struct connectdata *conn,
break;
} while(1);
- data->state.os_errno = Curl_sockerrno();
+ data->state.os_errno = SOCKERRNO;
failf(data, "bind failure: %s",
Curl_strerror(conn, data->state.os_errno));
return CURLE_HTTP_PORT_FAILED;
@@ -453,7 +440,7 @@ static bool verifyconnect(curl_socket_t sockfd, int *error)
if( -1 == getsockopt(sockfd, SOL_SOCKET, SO_ERROR,
(void *)&err, &errSize))
- err = Curl_sockerrno();
+ err = SOCKERRNO;
#ifdef _WIN32_WCE
/* Always returns this error, bug in CE? */
@@ -472,7 +459,7 @@ static bool verifyconnect(curl_socket_t sockfd, int *error)
#else
(void)sockfd;
if (error)
- *error = Curl_sockerrno();
+ *error = SOCKERRNO;
#endif
return rc;
}
@@ -613,7 +600,7 @@ CURLcode Curl_is_connected(struct connectdata *conn,
infof(data, "Connection failed\n");
if(trynextip(conn, sockindex, connected)) {
- error = Curl_sockerrno();
+ error = SOCKERRNO;
data->state.os_errno = error;
failf(data, "Failed connect to %s:%d; %s",
conn->host.name, conn->port, Curl_strerror(conn,error));
@@ -645,7 +632,7 @@ static void tcpnodelay(struct connectdata *conn,
if(setsockopt(sockfd, proto, TCP_NODELAY, (void *)&onoff,
sizeof(onoff)) < 0)
infof(data, "Could not set TCP_NODELAY: %s\n",
- Curl_strerror(conn, Curl_sockerrno()));
+ Curl_strerror(conn, SOCKERRNO));
else
infof(data,"TCP_NODELAY set\n");
#else
@@ -667,7 +654,7 @@ static void nosigpipe(struct connectdata *conn,
if(setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, (void *)&onoff,
sizeof(onoff)) < 0)
infof(data, "Could not set SO_NOSIGPIPE: %s\n",
- Curl_strerror(conn, Curl_sockerrno()));
+ Curl_strerror(conn, SOCKERRNO));
}
#else
#define nosigpipe(x,y)
@@ -731,7 +718,7 @@ singleipconnect(struct connectdata *conn,
rc = 0;
if(-1 == rc) {
- error = Curl_sockerrno();
+ error = SOCKERRNO;
switch (error) {
case EINPROGRESS: