WIN32 MemoryTracking: require UNICODE for wide strdup code support
This commit is contained in:
@@ -87,7 +87,7 @@ extern curl_free_callback Curl_cfree;
|
|||||||
extern curl_realloc_callback Curl_crealloc;
|
extern curl_realloc_callback Curl_crealloc;
|
||||||
extern curl_strdup_callback Curl_cstrdup;
|
extern curl_strdup_callback Curl_cstrdup;
|
||||||
extern curl_calloc_callback Curl_ccalloc;
|
extern curl_calloc_callback Curl_ccalloc;
|
||||||
#ifdef WIN32
|
#if defined(WIN32) && defined(UNICODE)
|
||||||
extern curl_wcsdup_callback Curl_cwcsdup;
|
extern curl_wcsdup_callback Curl_cwcsdup;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -114,14 +114,15 @@ extern curl_wcsdup_callback Curl_cwcsdup;
|
|||||||
#define free(ptr) Curl_cfree(ptr)
|
#define free(ptr) Curl_cfree(ptr)
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
# undef wcsdup
|
|
||||||
# define wcsdup(ptr) Curl_cwcsdup(ptr)
|
|
||||||
# undef _wcsdup
|
|
||||||
# define _wcsdup(ptr) Curl_cwcsdup(ptr)
|
|
||||||
# undef _tcsdup
|
|
||||||
# ifdef UNICODE
|
# 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)
|
# define _tcsdup(ptr) Curl_cwcsdup(ptr)
|
||||||
# else
|
# else
|
||||||
|
# undef _tcsdup
|
||||||
# define _tcsdup(ptr) Curl_cstrdup(ptr)
|
# define _tcsdup(ptr) Curl_cstrdup(ptr)
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -270,7 +270,9 @@
|
|||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
# include <tchar.h>
|
# 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
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -252,8 +252,8 @@ curl_free_callback Curl_cfree = (curl_free_callback)free;
|
|||||||
curl_realloc_callback Curl_crealloc = (curl_realloc_callback)realloc;
|
curl_realloc_callback Curl_crealloc = (curl_realloc_callback)realloc;
|
||||||
curl_strdup_callback Curl_cstrdup = (curl_strdup_callback)system_strdup;
|
curl_strdup_callback Curl_cstrdup = (curl_strdup_callback)system_strdup;
|
||||||
curl_calloc_callback Curl_ccalloc = (curl_calloc_callback)calloc;
|
curl_calloc_callback Curl_ccalloc = (curl_calloc_callback)calloc;
|
||||||
#ifdef WIN32
|
#if defined(WIN32) && defined(UNICODE)
|
||||||
curl_wcsdup_callback Curl_cwcsdup = (curl_wcsdup_callback)wcsdup;
|
curl_wcsdup_callback Curl_cwcsdup = (curl_wcsdup_callback)_wcsdup;
|
||||||
#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
/*
|
/*
|
||||||
@@ -286,8 +286,8 @@ CURLcode curl_global_init(long flags)
|
|||||||
Curl_crealloc = (curl_realloc_callback)realloc;
|
Curl_crealloc = (curl_realloc_callback)realloc;
|
||||||
Curl_cstrdup = (curl_strdup_callback)system_strdup;
|
Curl_cstrdup = (curl_strdup_callback)system_strdup;
|
||||||
Curl_ccalloc = (curl_calloc_callback)calloc;
|
Curl_ccalloc = (curl_calloc_callback)calloc;
|
||||||
#ifdef WIN32
|
#if defined(WIN32) && defined(UNICODE)
|
||||||
Curl_cwcsdup = (curl_wcsdup_callback)wcsdup;
|
Curl_cwcsdup = (curl_wcsdup_callback)_wcsdup;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if(flags & CURL_GLOBAL_SSL)
|
if(flags & CURL_GLOBAL_SSL)
|
||||||
|
|||||||
@@ -239,7 +239,7 @@ char *curl_dostrdup(const char *str, int line, const char *source)
|
|||||||
return mem;
|
return mem;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WIN32
|
#if defined(WIN32) && defined(UNICODE)
|
||||||
wchar_t *curl_dowcsdup(const wchar_t *str, int line, const char *source)
|
wchar_t *curl_dowcsdup(const wchar_t *str, int line, const char *source)
|
||||||
{
|
{
|
||||||
wchar_t *mem;
|
wchar_t *mem;
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ CURL_EXTERN void *curl_dorealloc(void *ptr, size_t size, int line,
|
|||||||
const char *source);
|
const char *source);
|
||||||
CURL_EXTERN void curl_dofree(void *ptr, 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);
|
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,
|
CURL_EXTERN wchar_t *curl_dowcsdup(const wchar_t *str, int line,
|
||||||
const char *source);
|
const char *source);
|
||||||
#endif
|
#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__)
|
#define free(ptr) curl_dofree(ptr, __LINE__, __FILE__)
|
||||||
|
|
||||||
#ifdef WIN32
|
#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
|
# 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__)
|
# define _tcsdup(ptr) curl_dowcsdup(ptr, __LINE__, __FILE__)
|
||||||
# else
|
# else
|
||||||
|
# undef _tcsdup
|
||||||
# define _tcsdup(ptr) curl_dostrdup(ptr, __LINE__, __FILE__)
|
# define _tcsdup(ptr) curl_dostrdup(ptr, __LINE__, __FILE__)
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -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
|
* This software is licensed as described in the file COPYING, which
|
||||||
* you should have received as part of this distribution. The terms
|
* 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_realloc_callback Curl_crealloc = (curl_realloc_callback)realloc;
|
||||||
curl_strdup_callback Curl_cstrdup = (curl_strdup_callback)strdup;
|
curl_strdup_callback Curl_cstrdup = (curl_strdup_callback)strdup;
|
||||||
curl_calloc_callback Curl_ccalloc = (curl_calloc_callback)calloc;
|
curl_calloc_callback Curl_ccalloc = (curl_calloc_callback)calloc;
|
||||||
#ifdef WIN32
|
#if defined(WIN32) && defined(UNICODE)
|
||||||
curl_wcsdup_callback Curl_cwcsdup = (curl_wcsdup_callback)wcsdup;
|
curl_wcsdup_callback Curl_cwcsdup = (curl_wcsdup_callback)_wcsdup;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_MSC_VER) && defined(_DLL)
|
#if defined(_MSC_VER) && defined(_DLL)
|
||||||
|
|||||||
Reference in New Issue
Block a user