[newlib-cygwin] newlib: fvprintf: fix get_arg for !_MB_CAPABLE

Corinna Vinschen corinna@sourceware.org
Tue Jan 9 08:52:00 GMT 2018


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=1d01586b62dcf80236021cc514c487a1da160de6

commit 1d01586b62dcf80236021cc514c487a1da160de6
Author: Ivan Grokhotkov <ivan@espressif.com>
Date:   Tue Jan 9 14:07:25 2018 +0800

    newlib: fvprintf: fix get_arg for !_MB_CAPABLE
    
    Code path for _MB_CAPABLE scans for the '%' character and advances
    'fmt' pointer past '%'. Code path for !_MB_CAPABLE leaved fmt pointing
    to '%', which caused the state machine to go from START to DONE state
    immediately.

Diff:
---
 newlib/libc/stdio/vfprintf.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c
index 50a3478..211cb17 100644
--- a/newlib/libc/stdio/vfprintf.c
+++ b/newlib/libc/stdio/vfprintf.c
@@ -2098,6 +2098,8 @@ _DEFUN(get_arg, (data, n, fmt, ap, numargs_p, args, arg_type, last_fmt),
 
       if (*fmt == '\0')
 	break;
+
+      fmt++;
 # endif /* ! _MB_CAPABLE */
       state = START;
       flags = 0;



More information about the Newlib-cvs mailing list