aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/inet_ntop.c13
1 files 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)
{