diff options
author | Kacper Michajłow <kasper93@gmail.com> | 2024-03-17 18:25:51 +0100 |
---|---|---|
committer | Kacper Michajłow <kasper93@gmail.com> | 2024-03-19 19:58:09 +0100 |
commit | fc55f355fc8225328cf0472e3deb4021eba96303 (patch) | |
tree | 652da918120e94e4d926d443e479034d3d8777f6 /osdep/io.c | |
parent | 3372e17d51b6ecab1695de9e41d26a9216a62a52 (diff) | |
download | mpv-fc55f355fc8225328cf0472e3deb4021eba96303.tar.bz2 mpv-fc55f355fc8225328cf0472e3deb4021eba96303.tar.xz |
win32: add puts/fputs wrappers
Diffstat (limited to 'osdep/io.c')
-rw-r--r-- | osdep/io.c | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/osdep/io.c b/osdep/io.c index 0006bb54ab..dd21314d7c 100644 --- a/osdep/io.c +++ b/osdep/io.c @@ -298,6 +298,31 @@ int mp_fstat(int fd, struct mp_stat *buf) return hstat(h, buf); } +static inline HANDLE get_handle(FILE *stream) +{ + HANDLE wstream = INVALID_HANDLE_VALUE; + + if (stream == stdout || stream == stderr) { + wstream = GetStdHandle(stream == stdout ? + STD_OUTPUT_HANDLE : STD_ERROR_HANDLE); + } + return wstream; +} + +int mp_fputs(const char *str, FILE *stream) +{ + HANDLE wstream = get_handle(stream); + if (mp_check_console(wstream)) + return mp_console_fputs(wstream, bstr0(str)); + + return fputs(str, stream); +} + +int mp_puts(const char *str) +{ + return mp_fputs(str, stdout); +} + #if HAVE_UWP static int mp_vfprintf(FILE *stream, const char *format, va_list args) { @@ -307,15 +332,9 @@ static int mp_vfprintf(FILE *stream, const char *format, va_list args) static int mp_vfprintf(FILE *stream, const char *format, va_list args) { - HANDLE wstream = INVALID_HANDLE_VALUE; - - if (stream == stdout || stream == stderr) { - wstream = GetStdHandle(stream == stdout ? - STD_OUTPUT_HANDLE : STD_ERROR_HANDLE); - } - + HANDLE wstream = get_handle(stream); if (mp_check_console(wstream)) - return mp_write_console_ansi(wstream, format, args); + return mp_console_vfprintf(wstream, format, args); return vfprintf(stream, format, args); } |