From 653079b792de8ac3f8bb82451149e9694124d558 Mon Sep 17 00:00:00 2001 From: Stef Velzel Date: Sat, 11 Oct 2014 21:02:57 +0200 Subject: [PATCH] Fixed Win32 string conversion. Specifying -1 as the source string size makes the returned size include the null terminator. Closes #364. --- src/win32_init.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/win32_init.c b/src/win32_init.c index 51fe08ee..5b1c18bb 100644 --- a/src/win32_init.c +++ b/src/win32_init.c @@ -151,9 +151,9 @@ WCHAR* _glfwCreateWideStringFromUTF8(const char* source) if (!length) return NULL; - target = calloc(length + 1, sizeof(WCHAR)); + target = calloc(length, sizeof(WCHAR)); - if (!MultiByteToWideChar(CP_UTF8, 0, source, -1, target, length + 1)) + if (!MultiByteToWideChar(CP_UTF8, 0, source, -1, target, length)) { free(target); return NULL; @@ -173,9 +173,9 @@ char* _glfwCreateUTF8FromWideString(const WCHAR* source) if (!length) return NULL; - target = calloc(length + 1, sizeof(char)); + target = calloc(length, sizeof(char)); - if (!WideCharToMultiByte(CP_UTF8, 0, source, -1, target, length + 1, NULL, NULL)) + if (!WideCharToMultiByte(CP_UTF8, 0, source, -1, target, length, NULL, NULL)) { free(target); return NULL;