From: RĂ©mi Denis-Courmont Date: Sat, 21 Aug 2010 09:24:56 +0000 (+0300) Subject: utf8_vfprintf(): simplify X-Git-Tag: 1.2.0-pre1~5378 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=0ad2d338236c5b14cdabb545741cd4ab8a5bd7f7;hp=130ff9a34434077cb185c4612d5795631137ffe7;p=vlc utf8_vfprintf(): simplify --- diff --git a/src/text/unicode.c b/src/text/unicode.c index cbbe53222e..3030d47085 100644 --- a/src/text/unicode.c +++ b/src/text/unicode.c @@ -197,36 +197,19 @@ char *ToLocaleDup (const char *utf8) #endif } -/** - * Formats an UTF-8 string as vasprintf(), then print it to stdout, with - * appropriate conversion to local encoding. - */ -static int utf8_vasprintf( char **str, const char *fmt, va_list ap ) -{ - char *utf8; - int res = vasprintf( &utf8, fmt, ap ); - if( res == -1 ) - return -1; - -#ifdef ASSUME_UTF8 - *str = utf8; -#else - *str = ToLocaleDup( utf8 ); - free( utf8 ); -#endif - return res; -} - /** * Formats an UTF-8 string as vfprintf(), then print it, with * appropriate conversion to local encoding. */ int utf8_vfprintf( FILE *stream, const char *fmt, va_list ap ) { +#ifdef ASSUME_UTF8 + return vfprintf (stream, fmt, ap); +#else char *str; int res; -#if defined( WIN32 ) && !defined( UNDER_CE ) +# if defined( WIN32 ) && !defined( UNDER_CE ) /* Writing to the console is a lot of fun on Microsoft Windows. * If you use the standard I/O functions, you must use the OEM code page, * which is different from the usual ANSI code page. Or maybe not, if the @@ -259,15 +242,19 @@ int utf8_vfprintf( FILE *stream, const char *fmt, va_list ap ) free (str); return res; } -#endif +# endif - res = utf8_vasprintf (&str, fmt, ap); + res = vasprintf (&str, fmt, ap); if (unlikely(res == -1)) return -1; - fputs( str, stream ); - free( str ); + char *ansi = ToLocaleDup (str); + free (str); + + fputs (ansi, stream); + free (ansi); return res; +#endif } /**