]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
windows: fix to preserve error code in `curlx_winapi_strerror()`
authorViktor Szakats <commit@vsz.me>
Fri, 9 May 2025 13:18:51 +0000 (15:18 +0200)
committerViktor Szakats <commit@vsz.me>
Fri, 9 May 2025 13:56:07 +0000 (15:56 +0200)
Drop the interim macro `PRESERVE_WINDOWS_ERROR_CODE` and always preserve
error code for `_WIN32`. To make sure this is always done in
`curlx_winapi_strerror()`.

Follow-up to c74d3e10d2935a9a37ffe6b2f7a4ecb0f81e974f #17299

Closes #17302

lib/curlx/winapi.c
lib/strerror.c

index e79024c69ab3bb80ea60efe6dfdd44d61a1a8347..6069424becc55a66689fb4b698c253463cc5e870 100644 (file)
@@ -90,7 +90,7 @@ const char *curlx_get_winapi_error(int err, char *buf, size_t buflen)
 
 const char *curlx_winapi_strerror(DWORD err, char *buf, size_t buflen)
 {
-#ifdef PRESERVE_WINDOWS_ERROR_CODE
+#ifdef _WIN32
   DWORD old_win_err = GetLastError();
 #endif
   int old_errno = errno;
@@ -125,7 +125,7 @@ const char *curlx_winapi_strerror(DWORD err, char *buf, size_t buflen)
   if(errno != old_errno)
     CURL_SETERRNO(old_errno);
 
-#ifdef PRESERVE_WINDOWS_ERROR_CODE
+#ifdef _WIN32
   if(old_win_err != GetLastError())
     SetLastError(old_win_err);
 #endif
index 0c440136d086683887e10431f5a8d304879b253c..9cf93dd66e97d02d58cb3475f0d2d43fdf5425ac 100644 (file)
 #include "curl_memory.h"
 #include "memdebug.h"
 
-#ifdef _WIN32
-#define PRESERVE_WINDOWS_ERROR_CODE
-#endif
-
 const char *
 curl_easy_strerror(CURLcode error)
 {
@@ -804,7 +800,7 @@ get_winsock_error(int err, char *buf, size_t len)
  */
 const char *Curl_strerror(int err, char *buf, size_t buflen)
 {
-#ifdef PRESERVE_WINDOWS_ERROR_CODE
+#ifdef _WIN32
   DWORD old_win_err = GetLastError();
 #endif
   int old_errno = errno;
@@ -884,7 +880,7 @@ const char *Curl_strerror(int err, char *buf, size_t buflen)
   if(errno != old_errno)
     CURL_SETERRNO(old_errno);
 
-#ifdef PRESERVE_WINDOWS_ERROR_CODE
+#ifdef _WIN32
   if(old_win_err != GetLastError())
     SetLastError(old_win_err);
 #endif
@@ -899,7 +895,7 @@ const char *Curl_strerror(int err, char *buf, size_t buflen)
  */
 const char *Curl_sspi_strerror(int err, char *buf, size_t buflen)
 {
-#ifdef PRESERVE_WINDOWS_ERROR_CODE
+#ifdef _WIN32
   DWORD old_win_err = GetLastError();
 #endif
   int old_errno = errno;
@@ -1032,7 +1028,7 @@ const char *Curl_sspi_strerror(int err, char *buf, size_t buflen)
   if(errno != old_errno)
     CURL_SETERRNO(old_errno);
 
-#ifdef PRESERVE_WINDOWS_ERROR_CODE
+#ifdef _WIN32
   if(old_win_err != GetLastError())
     SetLastError(old_win_err);
 #endif