diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2012-11-19 21:40:20 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2012-11-19 21:40:27 +0100 |
commit | a45fa2c779624a21ac99612c36f18f50f2d3f724 (patch) | |
tree | a5b0e1e00bd83edbb87e62aae406939af1c3f21a | |
parent | b8c2738c4ca0d4724a459f69ae519fd37c77d490 (diff) | |
download | gnutls-a45fa2c779624a21ac99612c36f18f50f2d3f724.tar.gz |
corrected win32 UCS2 conversion.
-rw-r--r-- | lib/system.c | 7 |
1 files 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 <Winnls.h> +#include <winnls.h> /* 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) { |