summaryrefslogtreecommitdiff
path: root/lib/curl_multibyte.c
diff options
context:
space:
mode:
authorJay Satiro <raysatiro@yahoo.com>2021-02-13 00:51:28 -0500
committerJay Satiro <raysatiro@yahoo.com>2021-02-20 14:39:39 -0500
commit09363500b9e161670b6bd084cc57bff75d32fc02 (patch)
treebcf93fa61086156f9754977360438c783981f37a /lib/curl_multibyte.c
parentf65d7889b5c8eeefbb9f41c7588199be18b38a20 (diff)
downloadcurl-09363500b9e161670b6bd084cc57bff75d32fc02.tar.gz
curl_multibyte: always return a heap-allocated copy of string
- Change the Windows char <-> UTF-8 conversion functions to return an allocated copy of the passed in string instead of the original. Prior to this change the curlx_convert_ functions would, as what I assume was an optimization, not make a copy of the passed in string if no conversion was required. No conversion is required in non-UNICODE Windows builds since our tchar strings are type char and remain in whatever the passed in encoding is, which is assumed to be UTF-8 but may be other encoding. In contrast the UNICODE Windows builds require conversion (wchar <-> char) and do return a copy. That inconsistency could lead to programming errors where the developer expects a copy, and does not realize that won't happen in all cases. Closes https://github.com/curl/curl/pull/6602
Diffstat (limited to 'lib/curl_multibyte.c')
-rw-r--r--lib/curl_multibyte.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/curl_multibyte.c b/lib/curl_multibyte.c
index 39b2c587c..a7ae47d7e 100644
--- a/lib/curl_multibyte.c
+++ b/lib/curl_multibyte.c
@@ -21,7 +21,11 @@
***************************************************************************/
/*
- * This file is 'mem-include-scan' clean. See test 1132.
+ * This file is 'mem-include-scan' clean, which means memdebug.h and
+ * curl_memory.h are purposely not included in this file. See test 1132.
+ *
+ * The functions in this file are curlx functions which are not tracked by the
+ * curl memory tracker memdebug.
*/
#include "curl_setup.h"