diff --git a/source/bindbc/loader/sharedlib.d b/source/bindbc/loader/sharedlib.d index acfde36..f0cf689 100644 --- a/source/bindbc/loader/sharedlib.d +++ b/source/bindbc/loader/sharedlib.d @@ -251,7 +251,16 @@ version(Windows){ void wstringToString(char** dst, const(wchar)* src){ import core.sys.windows.winnls; auto srcLen = lstrlenW(src); - auto dstBuffLen = wchar.sizeof*srcLen + 1; + auto dstBuffLen = WideCharToMultiByte( + CP_UTF8, + 0, + src, + srcLen, + null, // null dst to calculate size + 0, + null, + null, + ); *dst = cast(char*)malloc(dstBuffLen); WideCharToMultiByte( CP_UTF8,