diff --git a/lib/idn_win32.c b/lib/idn_win32.c index 96b4e2267..ae4a6832e 100644 --- a/lib/idn_win32.c +++ b/lib/idn_win32.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -29,9 +29,10 @@ #ifdef USE_WIN32_IDN #include "curl_multibyte.h" - #include "curl_memory.h" -/* The last #include file should be: */ +#include "warnless.h" + + /* The last #include file should be: */ #include "memdebug.h" #ifdef WANT_IDN_PROTOTYPES @@ -89,8 +90,10 @@ int curl_win32_ascii_to_idn(const char *in, char **out) int ret = 0; wchar_t *in_w = Curl_convert_UTF8_to_wchar(in); if(in_w) { + size_t in_len = wcslen(in_w) + 1; wchar_t unicode[IDN_MAX_LENGTH]; - int chars = IdnToUnicode(0, in_w, wcslen(in_w)+1, unicode, IDN_MAX_LENGTH); + int chars = IdnToUnicode(0, in_w, curlx_uztosi(in_len), + unicode, IDN_MAX_LENGTH); free(in_w); if(chars) { *out = Curl_convert_wchar_to_UTF8(unicode);