]> granicus.if.org Git - curl/commitdiff
WIN32 MemoryTracking: require UNICODE for wide strdup code support
authorYang Tse <yangsita@gmail.com>
Fri, 19 Jul 2013 04:44:46 +0000 (06:44 +0200)
committerYang Tse <yangsita@gmail.com>
Fri, 19 Jul 2013 10:33:10 +0000 (12:33 +0200)
lib/curl_memory.h
lib/curl_setup.h
lib/easy.c
lib/memdebug.c
lib/memdebug.h
tests/server/getpart.c

index 4bba008c9a4cc37982b260dbecff3cf0a06f2044..e3cdc721c43685532b4983b88b2b437ee1568643 100644 (file)
@@ -87,7 +87,7 @@ extern curl_free_callback Curl_cfree;
 extern curl_realloc_callback Curl_crealloc;
 extern curl_strdup_callback Curl_cstrdup;
 extern curl_calloc_callback Curl_ccalloc;
-#ifdef WIN32
+#if defined(WIN32) && defined(UNICODE)
 extern curl_wcsdup_callback Curl_cwcsdup;
 #endif
 
@@ -114,14 +114,15 @@ extern curl_wcsdup_callback Curl_cwcsdup;
 #define free(ptr) Curl_cfree(ptr)
 
 #ifdef WIN32
-#  undef wcsdup
-#  define wcsdup(ptr) Curl_cwcsdup(ptr)
-#  undef _wcsdup
-#  define _wcsdup(ptr) Curl_cwcsdup(ptr)
-#  undef _tcsdup
 #  ifdef UNICODE
+#    undef wcsdup
+#    define wcsdup(ptr) Curl_cwcsdup(ptr)
+#    undef _wcsdup
+#    define _wcsdup(ptr) Curl_cwcsdup(ptr)
+#    undef _tcsdup
 #    define _tcsdup(ptr) Curl_cwcsdup(ptr)
 #  else
+#    undef _tcsdup
 #    define _tcsdup(ptr) Curl_cstrdup(ptr)
 #  endif
 #endif
index 3f55a5c0f60f42f08ee8732101a1ece089930012..7edeca2123914f6989aaaeb789d3e852fa2f9198 100644 (file)
 #    endif
 #  endif
 #  include <tchar.h>
-   typedef wchar_t *(*curl_wcsdup_callback)(const wchar_t *str);
+#  ifdef UNICODE
+     typedef wchar_t *(*curl_wcsdup_callback)(const wchar_t *str);
+#  endif
 #endif
 
 /*
index 541e793fbe584a40d898466af9d7dd27ca80b111..995328e1de5f6b637382c503e8c5ab0ee8ce17e3 100644 (file)
@@ -252,8 +252,8 @@ curl_free_callback Curl_cfree = (curl_free_callback)free;
 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;
-#ifdef WIN32
-curl_wcsdup_callback Curl_cwcsdup = (curl_wcsdup_callback)wcsdup;
+#if defined(WIN32) && defined(UNICODE)
+curl_wcsdup_callback Curl_cwcsdup = (curl_wcsdup_callback)_wcsdup;
 #endif
 #else
 /*
@@ -286,8 +286,8 @@ CURLcode curl_global_init(long flags)
   Curl_crealloc = (curl_realloc_callback)realloc;
   Curl_cstrdup = (curl_strdup_callback)system_strdup;
   Curl_ccalloc = (curl_calloc_callback)calloc;
-#ifdef WIN32
-  Curl_cwcsdup = (curl_wcsdup_callback)wcsdup;
+#if defined(WIN32) && defined(UNICODE)
+  Curl_cwcsdup = (curl_wcsdup_callback)_wcsdup;
 #endif
 
   if(flags & CURL_GLOBAL_SSL)
index b3ddfb430e24324be9530254916216f6d99e34dd..4e4f84cb267701e7c85af2625348965e4542dbd3 100644 (file)
@@ -239,7 +239,7 @@ char *curl_dostrdup(const char *str, int line, const char *source)
   return mem;
 }
 
-#ifdef WIN32
+#if defined(WIN32) && defined(UNICODE)
 wchar_t *curl_dowcsdup(const wchar_t *str, int line, const char *source)
 {
   wchar_t *mem;
index 955e8b72b9f8e7c35fa03cbf04c6355c6adc3790..bd565c8dcffb4af5aa063bdd8bd962b964d50caf 100644 (file)
@@ -46,7 +46,7 @@ CURL_EXTERN void *curl_dorealloc(void *ptr, size_t size, int line,
                                  const char *source);
 CURL_EXTERN void curl_dofree(void *ptr, int line, const char *source);
 CURL_EXTERN char *curl_dostrdup(const char *str, int line, const char *source);
-#ifdef WIN32
+#if defined(WIN32) && defined(UNICODE)
 CURL_EXTERN wchar_t *curl_dowcsdup(const wchar_t *str, int line,
                                    const char *source);
 #endif
@@ -90,14 +90,15 @@ CURL_EXTERN int curl_fclose(FILE *file, int line, const char *source);
 #define free(ptr) curl_dofree(ptr, __LINE__, __FILE__)
 
 #ifdef WIN32
-#  undef wcsdup
-#  define wcsdup(ptr) curl_dowcsdup(ptr, __LINE__, __FILE__)
-#  undef _wcsdup
-#  define _wcsdup(ptr) curl_dowcsdup(ptr, __LINE__, __FILE__)
-#  undef _tcsdup
 #  ifdef UNICODE
+#    undef wcsdup
+#    define wcsdup(ptr) curl_dowcsdup(ptr, __LINE__, __FILE__)
+#    undef _wcsdup
+#    define _wcsdup(ptr) curl_dowcsdup(ptr, __LINE__, __FILE__)
+#    undef _tcsdup
 #    define _tcsdup(ptr) curl_dowcsdup(ptr, __LINE__, __FILE__)
 #  else
+#    undef _tcsdup
 #    define _tcsdup(ptr) curl_dostrdup(ptr, __LINE__, __FILE__)
 #  endif
 #endif
index 188eb5dca43ec3a30fb028d6fe286e712687b2a3..b00e8521e5621f03412d5ed8d2061ff2697c1e74 100644 (file)
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -58,8 +58,8 @@ curl_free_callback Curl_cfree = (curl_free_callback)free;
 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;
-#ifdef WIN32
-curl_wcsdup_callback Curl_cwcsdup = (curl_wcsdup_callback)wcsdup;
+#if defined(WIN32) && defined(UNICODE)
+curl_wcsdup_callback Curl_cwcsdup = (curl_wcsdup_callback)_wcsdup;
 #endif
 
 #if defined(_MSC_VER) && defined(_DLL)