From 6663608d15226110b106f7dc9e995eb94cddeddc Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Thu, 15 Feb 2007 18:44:32 +0000 Subject: [PATCH] avoid redefinition of SET_ERRNO() --- lib/inet_ntop.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/inet_ntop.c b/lib/inet_ntop.c index 9381963f5..f41a3f268 100644 --- a/lib/inet_ntop.c +++ b/lib/inet_ntop.c @@ -57,9 +57,6 @@ #ifdef USE_WINSOCK #define EAFNOSUPPORT WSAEAFNOSUPPORT -#define SET_ERRNO(e) WSASetLastError(errno = (e)) -#else -#define SET_ERRNO(e) errno = e #endif /* @@ -204,8 +201,14 @@ static char *inet_ntop6 (const unsigned char *src, char *dst, size_t size) /* * Convert a network format address to presentation format. * - * Returns pointer to presentation format address (`buf'), - * Returns NULL on error (see errno). + * Returns pointer to presentation format address (`buf'). + * Returns NULL on error and errno set with the specific + * error, EAFNOSUPPORT or ENOSPC. + * + * On Windows we store the error in the thread errno, not + * in the winsock error code. This is to avoid loosing the + * actual last winsock error. So use macro ERRNO to fetch the + * errno this funtion sets when returning NULL, not SOCKERRNO. */ char *Curl_inet_ntop(int af, const void *src, char *buf, size_t size) {