diff options
| author | Matthias Melcher <github@matthiasm.com> | 2025-11-01 01:37:31 +0100 |
|---|---|---|
| committer | Matthias Melcher <github@matthiasm.com> | 2025-11-01 01:37:31 +0100 |
| commit | 2d33e5b90c04dc345d722e8a16572f59a10be1a0 (patch) | |
| tree | 88f889a17bc1152650bc17adf56ea17e01ba9213 /src/drivers/WinAPI | |
| parent | 0ac7e427a17764ccdbe22add65a20427ac113294 (diff) | |
Improve docs for UTF-8 calls (1/2)(#125)
Diffstat (limited to 'src/drivers/WinAPI')
| -rw-r--r-- | src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx | 5 |
1 files changed, 3 insertions, 2 deletions
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; } |
