mirror of https://github.com/mpv-player/mpv
a1244111a7
Windows uses a legacy codepage for char* / runtime functions accepting char *. Using UTF-8 as the codepage with setlocale() is explicitly forbidden. Work this around by overriding the MSVCRT functions with wrapper macros, that assume UTF-8 and use "proper" API calls like _wopen etc. to deal with unicode filenames. All code that uses standard functions that take or return filenames must now include osdep/io.h. stat() can't be overridden, because MinGW-w64 itself defines "stat" as a macro. Change code to use use mp_stat() instead. This is not perfectly clean, but still somewhat sane, and much better than littering the rest of the mplayer code with MinGW specific hacks. It's also a bit fragile, but that's actually little different from the previous situation. Also, MinGW is unlikely to ever include a nice way of dealing with this. |
||
---|---|---|
.. | ||
ass_mp.c | ||
ass_mp.h | ||
av_sub.c | ||
av_sub.h | ||
dec_sub.c | ||
dec_sub.h | ||
find_sub.c | ||
find_subfiles.c | ||
find_subfiles.h | ||
font_load.c | ||
font_load.h | ||
font_load_ft.c | ||
osd_font.h | ||
sd.h | ||
sd_ass.c | ||
spudec.c | ||
spudec.h | ||
sub.c | ||
sub.h | ||
sub_cc.c | ||
sub_cc.h | ||
subassconvert.c | ||
subassconvert.h | ||
subreader.c | ||
subreader.h | ||
unrar_exec.c | ||
unrar_exec.h | ||
vobsub.c | ||
vobsub.h |