mtmd, arg: fix utf8 handling on windows (llama/24779)
* mtmd, arg: fix utf8 handling on windows * also fix ggml_fopen * fix build fail * also fix CLI
This commit is contained in:
parent
e3ab311094
commit
adbcfa0d46
|
|
@ -600,18 +600,15 @@ FILE * ggml_fopen(const char * fname, const char * mode) {
|
||||||
// convert fname (UTF-8)
|
// convert fname (UTF-8)
|
||||||
wchar_t * wfname = ggml_mbstowcs(fname);
|
wchar_t * wfname = ggml_mbstowcs(fname);
|
||||||
if (wfname) {
|
if (wfname) {
|
||||||
// convert mode (ANSI)
|
// convert mode (UTF-8)
|
||||||
wchar_t * wmode = GGML_MALLOC((strlen(mode) + 1) * sizeof(wchar_t));
|
wchar_t * wmode = ggml_mbstowcs(mode);
|
||||||
wchar_t * wmode_p = wmode;
|
if (wmode) {
|
||||||
do {
|
// open file
|
||||||
*wmode_p++ = (wchar_t)*mode;
|
file = _wfopen(wfname, wmode);
|
||||||
} while (*mode++);
|
GGML_FREE(wmode);
|
||||||
|
}
|
||||||
// open file
|
|
||||||
file = _wfopen(wfname, wmode);
|
|
||||||
|
|
||||||
GGML_FREE(wfname);
|
GGML_FREE(wfname);
|
||||||
GGML_FREE(wmode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return file;
|
return file;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue