From ba0b245a3f4730b4ad8b856cc47d040002171136 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Mon, 7 Jul 2025 11:46:26 +0200 Subject: [PATCH] windows: fix `wcsdup` callback initialization in `curl_global_init()` Also: - add two related casts to match rest of code. - replace deprecated `wcsdup` with `_wcsdup` in libtests. Ref: https://learn.microsoft.com/cpp/c-runtime-library/reference/strdup-wcsdup Follow-up to 76e047fc27b3a0b9e6d6d00cacf536e7b7c1b532 #7540 Bug: https://github.com/curl/curl/pull/17840#issuecomment-3044361245 Bug: https://github.com/curl/curl/pull/7540#issuecomment-2380995349 Closes #17840 --- lib/easy.c | 4 ++-- tests/libtest/memptr.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/easy.c b/lib/easy.c index 99cbd970ea..b90757d947 100644 --- a/lib/easy.c +++ b/lib/easy.c @@ -130,7 +130,7 @@ curl_realloc_callback Curl_crealloc = (curl_realloc_callback)realloc; curl_strdup_callback Curl_cstrdup = (curl_strdup_callback)system_strdup; curl_calloc_callback Curl_ccalloc = (curl_calloc_callback)calloc; #if defined(_WIN32) && defined(UNICODE) -curl_wcsdup_callback Curl_cwcsdup = Curl_wcsdup; +curl_wcsdup_callback Curl_cwcsdup = (curl_wcsdup_callback)Curl_wcsdup; #endif #if defined(_MSC_VER) && defined(_DLL) @@ -158,7 +158,7 @@ static CURLcode global_init(long flags, bool memoryfuncs) Curl_cstrdup = (curl_strdup_callback)system_strdup; Curl_ccalloc = (curl_calloc_callback)calloc; #if defined(_WIN32) && defined(UNICODE) - Curl_cwcsdup = (curl_wcsdup_callback)_wcsdup; + Curl_cwcsdup = (curl_wcsdup_callback)Curl_wcsdup; #endif } diff --git a/tests/libtest/memptr.c b/tests/libtest/memptr.c index ab72aa7725..ed6556a107 100644 --- a/tests/libtest/memptr.c +++ b/tests/libtest/memptr.c @@ -41,7 +41,7 @@ curl_realloc_callback Curl_crealloc = (curl_realloc_callback)realloc; curl_strdup_callback Curl_cstrdup = (curl_strdup_callback)strdup; curl_calloc_callback Curl_ccalloc = (curl_calloc_callback)calloc; #if defined(_WIN32) && defined(UNICODE) -curl_wcsdup_callback Curl_cwcsdup = wcsdup; +curl_wcsdup_callback Curl_cwcsdup = (curl_wcsdup_callback)_wcsdup; #endif #if defined(_MSC_VER) && defined(_DLL)