← Commit list

5356bce6ab

Viktor Szakats
Viktor Szakats
2025-12-01
SUCCESS Duration: 181s

Subject

windows: use `_strdup()` instead of `strdup()` where missing

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

docs/examples/block_ip.c+1 -6
@@ -38,12 +38,6 @@ int main(void)
}
#else
-#ifdef _MSC_VER
-#ifndef _CRT_NONSTDC_NO_DEPRECATE
-#define _CRT_NONSTDC_NO_DEPRECATE /* for strdup() */
-#endif
-#endif
-
#ifdef _WIN32
#if !defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0600
#undef _WIN32_WINNT
@@ -52,6 +46,7 @@ int main(void)
#include <winsock2.h>
#include <ws2tcpip.h>
#include <windows.h>
+#define strdup _strdup
#else
#include <sys/types.h>
#include <sys/socket.h>
lib/curl_setup.h+1 -2
@@ -91,8 +91,7 @@
#pragma warning(disable:4127)
/* Avoid VS2005 and upper complaining about portable C functions. */
#ifndef _CRT_NONSTDC_NO_DEPRECATE /* mingw-w64 v2+. MS SDK ~10+/~VS2017+. */
-#define _CRT_NONSTDC_NO_DEPRECATE /* for close(), fileno(), strdup(),
- unlink(), etc. */
+#define _CRT_NONSTDC_NO_DEPRECATE /* for close(), fileno(), unlink(), etc. */
#endif
#ifndef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS /* for getenv(), gmtime(), strcpy(),
lib/easy.c+4 -0
@@ -103,7 +103,11 @@ static curl_simple_lock s_lock = CURL_SIMPLE_LOCK_INIT;
* so the callback pointer is initialized correctly.
*/
#ifdef HAVE_STRDUP
+#ifdef _WIN32
+#define system_strdup _strdup
+#else
#define system_strdup strdup
+#endif
#else
#define system_strdup Curl_strdup
#endif
tests/libtest/memptr.c+4 -0
@@ -36,7 +36,11 @@
curl_malloc_callback Curl_cmalloc = (curl_malloc_callback)malloc;
curl_free_callback Curl_cfree = (curl_free_callback)free;
curl_realloc_callback Curl_crealloc = (curl_realloc_callback)realloc;
+#ifdef _WIN32
+curl_strdup_callback Curl_cstrdup = (curl_strdup_callback)_strdup;
+#else
curl_strdup_callback Curl_cstrdup = (curl_strdup_callback)strdup;
+#endif
curl_calloc_callback Curl_ccalloc = (curl_calloc_callback)calloc;
#if defined(_MSC_VER) && defined(_DLL)
tests/server/first.h+4 -0
@@ -69,6 +69,10 @@ extern const struct entry_s s_entries[];
# define snprintf _snprintf
#endif
+#ifdef _WIN32
+# define strdup _strdup
+#endif
+
#ifdef _WIN32
# define CURL_STRNICMP(p1, p2, n) _strnicmp(p1, p2, n)
#elif defined(HAVE_STRCASECMP)