diff options
Diffstat (limited to 'newlib/libc/stdio/vfprintf.c')
-rw-r--r-- | newlib/libc/stdio/vfprintf.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c index be35d248c..e3fc099d3 100644 --- a/newlib/libc/stdio/vfprintf.c +++ b/newlib/libc/stdio/vfprintf.c @@ -1225,6 +1225,15 @@ reswitch: switch (ch) { sign = '-'; break; #endif /* FLOATING_POINT */ +#ifdef _GLIBC_EXTENSION + case 'm': /* extension */ + { + int dummy; + cp = _strerror_r (data, data->_errno, 1, &dummy); + } + flags &= ~LONGINT; + goto string; +#endif case 'n': #ifndef _NO_LONGLONG if (flags & QUADINT) @@ -1272,8 +1281,11 @@ reswitch: switch (ch) { #ifdef _WANT_IO_C99_FORMATS case 'S': #endif - sign = '\0'; cp = GET_ARG (N, ap, char_ptr_t); +#ifdef _GLIBC_EXTENSION +string: +#endif + sign = '\0'; #ifndef __OPTIMIZE_SIZE__ /* Behavior is undefined if the user passed a NULL string when precision is not 0. |