From 2e328edee411d4f21603417fedf218b44260e788 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Thu, 30 Nov 2017 11:36:04 +0100 Subject: [PATCH] newlib: vf[w]scanf: Only return from a single point to simplify cleanup Signed-off-by: Corinna Vinschen --- newlib/libc/stdio/vfscanf.c | 3 +-- newlib/libc/stdio/vfwscanf.c | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c index c5fcae577..b6b90c80e 100644 --- a/newlib/libc/stdio/vfscanf.c +++ b/newlib/libc/stdio/vfscanf.c @@ -1623,8 +1623,7 @@ input_failure: should have been set prior to here. On EOF failure (including invalid format string), return EOF if no matches yet, else number of matches made prior to failure. */ - _newlib_flockfile_exit (fp); - return nassigned && !(fp->_flags & __SERR) ? nassigned : EOF; + nassigned = nassigned && !(fp->_flags & __SERR) ? nassigned : EOF; match_failure: all_done: /* Return number of matches, which can be 0 on match failure. */ diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c index fd4f1f9f6..3b0e11355 100644 --- a/newlib/libc/stdio/vfwscanf.c +++ b/newlib/libc/stdio/vfwscanf.c @@ -1469,8 +1469,7 @@ input_failure: should have been set prior to here. On EOF failure (including invalid format string), return EOF if no matches yet, else number of matches made prior to failure. */ - _newlib_flockfile_exit (fp); - return nassigned && !(fp->_flags & __SERR) ? nassigned : EOF; + nassigned = nassigned && !(fp->_flags & __SERR) ? nassigned : EOF; match_failure: all_done: /* Return number of matches, which can be 0 on match failure. */