summaryrefslogtreecommitdiffstats
path: root/osdep/io.c
diff options
context:
space:
mode:
authorKacper Michajłow <kasper93@gmail.com>2024-03-17 18:25:51 +0100
committerKacper Michajłow <kasper93@gmail.com>2024-03-19 19:58:09 +0100
commitfc55f355fc8225328cf0472e3deb4021eba96303 (patch)
tree652da918120e94e4d926d443e479034d3d8777f6 /osdep/io.c
parent3372e17d51b6ecab1695de9e41d26a9216a62a52 (diff)
downloadmpv-fc55f355fc8225328cf0472e3deb4021eba96303.tar.bz2
mpv-fc55f355fc8225328cf0472e3deb4021eba96303.tar.xz
win32: add puts/fputs wrappers
Diffstat (limited to 'osdep/io.c')
-rw-r--r--osdep/io.c35
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);
}