From f0b8de9e244293762203c4d9935284bb1489be62 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Sun, 9 Aug 2020 02:13:57 +0000 Subject: [PATCH] socket_strerror() needs to auto-correct for WinSock error ranges. --- src/xpdev/sockwrap.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/xpdev/sockwrap.c b/src/xpdev/sockwrap.c index 2f401cd539..abc1670cb9 100644 --- a/src/xpdev/sockwrap.c +++ b/src/xpdev/sockwrap.c @@ -507,6 +507,8 @@ DLLEXPORT char* socket_strerror(int error_number, char* buf, size_t buflen) #if defined(_WINSOCKAPI_) strncpy(buf, "Unknown error", buflen); buf[buflen - 1] = 0; + if(error_number > 0 && error_number < WSABASEERR) + error_number += WSABASEERR; FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_MAX_WIDTH_MASK, // dwFlags NULL, // lpSource error_number, // dwMessageId -- GitLab