From 47b856a9eac04e1e18d949cc751c397610bba429 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 13 Nov 1998 15:05:05 +0000 Subject: Update. * stdio-common/vfscanf.c: Return EOF for invalid format characters. 1998-11-13 Philip Blundell * sysdeps/arm/fpu/bits/setjmp.h (__JMP_BUF_SP): Correct value. Reported by Scott Bambrough. --- stdio-common/vfscanf.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'stdio-common/vfscanf.c') diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c index ec4a264d65..d2302dd9a2 100644 --- a/stdio-common/vfscanf.c +++ b/stdio-common/vfscanf.c @@ -85,6 +85,11 @@ __libc_cleanup_end (0); \ return EOF; \ } while (0) +# define fmt_error() do { \ + _IO_funlockfile (s); \ + __libc_cleanup_end (0); \ + return EOF; \ + } while (0) # define ARGCHECK(s, format) \ do \ { \ @@ -129,6 +134,10 @@ __set_errno (ENOMEM); \ return EOF; \ } while (0) +# define fmt_error() do { \ + funlockfile (s); \ + return EOF; \ + } while (0) # define ARGCHECK(s, format) \ do \ { \ @@ -1247,6 +1256,10 @@ __vfscanf (FILE *s, const char *format, va_list argptr) number_signed = 0; read_pointer = 1; goto number; + + default: + /* If this is an unknown format character punt. */ + fmt_error (); } } -- cgit v1.2.3