MultiByteToWideChar() usage bug (fix #1072)
This commit is contained in:
1 parent
8f6f28c8d3
commit
f217fa26ae
1 file changed
+3
-3
+3
-3
@@ -48,11 +48,11 @@ void *alloca (size_t);
|
||||
#ifdef WIN32
|
||||
FILE *fopen(const char *fname, const char *mode) {
|
||||
size_t sz = sizeof(wchar_t) * MultiByteToWideChar(CP_UTF8, 0, fname, -1, NULL, 0);
|
||||
wchar_t *wfname = alloca(sz);
|
||||
wchar_t *wfname = alloca(sz + 2); // +2 is not needed, but just in case
|
||||
MultiByteToWideChar(CP_UTF8, 0, fname, -1, wfname, sz);
|
||||
|
||||
sz = MultiByteToWideChar(CP_UTF8, 0, mode, -1, NULL, 0);
|
||||
wchar_t *wmode = alloca(sz);
|
||||
sz = sizeof(wchar_t) * MultiByteToWideChar(CP_UTF8, 0, mode, -1, NULL, 0);
|
||||
wchar_t *wmode = alloca(sz); // +2 is not needed, but just in case
|
||||
MultiByteToWideChar(CP_UTF8, 0, mode, -1, wmode, sz);
|
||||
return _wfopen(wfname, wmode);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user