From a45fa2c779624a21ac99612c36f18f50f2d3f724 Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Mon, 19 Nov 2012 21:40:20 +0100 Subject: corrected win32 UCS2 conversion. --- lib/system.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/system.c b/lib/system.c index cbb0e567ba..dcca1450c1 100644 --- a/lib/system.c +++ b/lib/system.c @@ -520,12 +520,13 @@ cleanup: return ret; } #elif defined(_WIN32) -#include +#include /* Can convert only english */ int _gnutls_ucs2_to_utf8(const void* data, size_t size, gnutls_datum_t *output) { int ret; +unsigned i; int len = 0, src_len; char* dst = NULL; char* src = NULL; @@ -543,7 +544,7 @@ char* src = NULL; src[1+i] = ((char*)data)[i]; } - ret = WideCharToMultiByte(CP_UTF8, MB_ERR_INVALID_CHARS, src, src_len, + ret = WideCharToMultiByte(CP_UTF8, MB_ERR_INVALID_CHARS, (void*)src, src_len, NULL, 0, NULL, NULL); if (ret == 0) { @@ -559,7 +560,7 @@ char* src = NULL; goto fail; } - ret = WideCharToMultiByte(CP_UTF8, MB_ERR_INVALID_CHARS, data, size/2, + ret = WideCharToMultiByte(CP_UTF8, MB_ERR_INVALID_CHARS, (void*)src, src_len, dst, len, NULL, NULL); if (ret == 0) { -- cgit v1.2.1