From a659429f865859d66f7fe27e45cb20cb897546ec Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 6 Apr 2012 23:42:02 +0200 Subject: win32: use more unicode functions Use the *W variants instead of the implicit *A functions. (One could define the UNICODE macro to switch the functions without suffix from A to W, but I'm too lazy to figure out how portable that is, etc.) Also make sure io.h defines a unicode aware printf(). --- osdep/io.c | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'osdep/io.c') diff --git a/osdep/io.c b/osdep/io.c index e3e750e30b..5531e3ce7c 100644 --- a/osdep/io.c +++ b/osdep/io.c @@ -92,13 +92,10 @@ int mp_stat(const char *path, struct stat *buf) return res; } -int mp_fprintf(FILE *stream, const char *format, ...) +static int mp_vfprintf(FILE *stream, const char *format, va_list args) { - va_list args; int done = 0; - va_start(args, format); - if (stream == stdout || stream == stderr) { HANDLE *wstream = GetStdHandle(stream == stdout ? @@ -146,9 +143,27 @@ int mp_fprintf(FILE *stream, const char *format, ...) else done = vfprintf(stream, format, args); + return done; +} + +int mp_fprintf(FILE *stream, const char *format, ...) +{ + int res; + va_list args; + va_start(args, format); + res = mp_vfprintf(stream, format, args); va_end(args); + return res; +} - return done; +int mp_printf(const char *format, ...) +{ + int res; + va_list args; + va_start(args, format); + res = mp_vfprintf(stdout, format, args); + va_end(args); + return res; } int mp_open(const char *filename, int oflag, ...) -- cgit v1.2.3