aboutsummaryrefslogtreecommitdiff
path: root/stdio-common/fxprintf.c
diff options
context:
space:
mode:
Diffstat (limited to 'stdio-common/fxprintf.c')
-rw-r--r--stdio-common/fxprintf.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/stdio-common/fxprintf.c b/stdio-common/fxprintf.c
index 9e71499..9866c8b 100644
--- a/stdio-common/fxprintf.c
+++ b/stdio-common/fxprintf.c
@@ -24,10 +24,11 @@
#include <libioP.h>
static int
-locked_vfxprintf (FILE *fp, const char *fmt, va_list ap)
+locked_vfxprintf (FILE *fp, const char *fmt, va_list ap,
+ unsigned int mode_flags)
{
if (_IO_fwide (fp, 0) <= 0)
- return __vfprintf_internal (fp, fmt, ap, 0);
+ return __vfprintf_internal (fp, fmt, ap, mode_flags);
/* We must convert the narrow format string to a wide one.
Each byte can produce at most one wide character. */
@@ -53,7 +54,7 @@ locked_vfxprintf (FILE *fp, const char *fmt, va_list ap)
res = __mbsrtowcs (wfmt, &fmt, len, &mbstate);
if (res != -1)
- res = __vfwprintf_internal (fp, wfmt, ap, 0);
+ res = __vfwprintf_internal (fp, wfmt, ap, mode_flags);
if (used_malloc)
free (wfmt);
@@ -62,12 +63,13 @@ locked_vfxprintf (FILE *fp, const char *fmt, va_list ap)
}
int
-__vfxprintf (FILE *fp, const char *fmt, va_list ap)
+__vfxprintf (FILE *fp, const char *fmt, va_list ap,
+ unsigned int mode_flags)
{
if (fp == NULL)
fp = stderr;
_IO_flockfile (fp);
- int res = locked_vfxprintf (fp, fmt, ap);
+ int res = locked_vfxprintf (fp, fmt, ap, mode_flags);
_IO_funlockfile (fp);
return res;
}
@@ -77,7 +79,7 @@ __fxprintf (FILE *fp, const char *fmt, ...)
{
va_list ap;
va_start (ap, fmt);
- int res = __vfxprintf (fp, fmt, ap);
+ int res = __vfxprintf (fp, fmt, ap, 0);
va_end (ap);
return res;
}
@@ -94,7 +96,7 @@ __fxprintf_nocancel (FILE *fp, const char *fmt, ...)
int save_flags2 = fp->_flags2;
fp->_flags2 |= _IO_FLAGS2_NOTCANCEL;
- int res = locked_vfxprintf (fp, fmt, ap);
+ int res = locked_vfxprintf (fp, fmt, ap, 0);
fp->_flags2 = save_flags2;
_IO_funlockfile (fp);