From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 120590 invoked by alias); 30 Nov 2017 10:42:02 -0000 Mailing-List: contact newlib-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: newlib-cvs-owner@sourceware.org Received: (qmail 120535 invoked by uid 9078); 30 Nov 2017 10:42:02 -0000 Date: Thu, 30 Nov 2017 10:42:00 -0000 Message-ID: <20171130104202.120532.qmail@sourceware.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Corinna Vinschen To: newlib-cvs@sourceware.org Subject: [newlib-cygwin] newlib: vf[w]scanf: Only return from a single point to simplify cleanup X-Act-Checkin: newlib-cygwin X-Git-Author: Corinna Vinschen X-Git-Refname: refs/heads/master X-Git-Oldrev: f636eae26f70b7c5bae5fb7ec7386cf92aca125d X-Git-Newrev: 2e328edee411d4f21603417fedf218b44260e788 X-SW-Source: 2017-q4/txt/msg00039.txt.bz2 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=2e328edee411d4f21603417fedf218b44260e788 commit 2e328edee411d4f21603417fedf218b44260e788 Author: Corinna Vinschen Date: Thu Nov 30 11:36:04 2017 +0100 newlib: vf[w]scanf: Only return from a single point to simplify cleanup Signed-off-by: Corinna Vinschen Diff: --- 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 c5fcae5..b6b90c8 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 fd4f1f9..3b0e113 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. */