From c921d8a2c5cc4e31aad8f9c16fe8d8a7f3d9a4f9 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Wed, 9 Apr 2008 22:22:28 +0000 Subject: fix breakage in old_vfprintf case --- libc/stdio/vdprintf.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'libc/stdio/vdprintf.c') diff --git a/libc/stdio/vdprintf.c b/libc/stdio/vdprintf.c index 94ed6b8b8..6e28b14c0 100644 --- a/libc/stdio/vdprintf.c +++ b/libc/stdio/vdprintf.c @@ -11,6 +11,9 @@ #include "_stdio.h" #include +#ifdef __USE_OLD_VFPRINTF__ +libc_hidden_proto(vfprintf) +#endif libc_hidden_proto(fflush_unlocked) libc_hidden_proto(vdprintf) @@ -49,13 +52,17 @@ int vdprintf(int filedes, const char * __restrict format, va_list arg) /* _vfprintf_internal doesn't do any locking, locking init is here * only because of fflush_unlocked. TODO? */ -#ifdef __UCLIBC_HAS_THREADS__ +#if (defined(__STDIO_BUFFERS) || defined(__USE_OLD_VFPRINTF__)) && defined(__UCLIBC_HAS_THREADS__) f.__user_locking = 1; /* Set user locking. */ __stdio_init_mutex(&f.__lock); #endif f.__nextopen = NULL; +#ifdef __USE_OLD_VFPRINTF__ + rv = vfprintf(&f, format, arg); +#else rv = _vfprintf_internal(&f, format, arg); +#endif #ifdef __STDIO_BUFFERS /* If not buffering, then fflush is unnecessary. */ -- cgit v1.2.3