From 2d33e5b90c04dc345d722e8a16572f59a10be1a0 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Sat, 1 Nov 2025 01:37:31 +0100 Subject: Improve docs for UTF-8 calls (1/2)(#125) --- src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/drivers') diff --git a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx index 72ed0680f..19b01190b 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx +++ b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx @@ -190,13 +190,14 @@ char *Fl_WinAPI_System_Driver::utf2mbcs(const char *utf8) { unsigned len = (unsigned)strlen(utf8); unsigned wn = fl_utf8toUtf16(utf8, len, NULL, 0) + 7; // Query length - mbwbuf = (wchar_t *)realloc(mbwbuf, sizeof(wchar_t) * wn); + mbwbuf = (wchar_t *)realloc(mbwbuf, sizeof(wchar_t) * (wn+1)); len = fl_utf8toUtf16(utf8, len, (unsigned short *)mbwbuf, wn); // Convert string mbwbuf[len] = 0; - buf = (char*)realloc(buf, len * 6 + 1); + buf = (char*)realloc(buf, len * 6 + 2); len = (unsigned)wcstombs(buf, mbwbuf, len * 6); buf[len] = 0; + buf[len+1] = 0; // in case the result is a UTF-16 string return buf; } -- cgit v1.2.3