* stdio-common/vfscanf.c: Don't return -1 in case of an invalid
	format, jsut stop.
This commit is contained in:
Ulrich Drepper 1998-11-13 19:38:37 +00:00
parent 77d10f94bf
commit 27658f2067
3 changed files with 16 additions and 15 deletions

View file

@ -1,5 +1,8 @@
1998-11-13 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/vfscanf.c: Don't return -1 in case of an invalid
format, jsut stop.
* version.h (VERSION): Bump to 2.0.102.
* stdio-common/tstdiomisc.c (t2): Update test case for last scanf

View file

@ -21,17 +21,24 @@ t2 (void)
VAR = -1; \
retval = sscanf (INPUT, FORMAT, &VAR); \
printf ("sscanf (\"%s\", \"%s\", &x) => %d, x = %ld\n", \
INPUT, FORMAT, retval, VAR); \
INPUT, FORMAT, retval, (long int) VAR); \
result |= retval != EXP_RES || VAR != EXP_VAL
SCAN ("12345", "%ld", N, 1, 12345);
SCAN ("12345", "%llllld", N, -1, -1);
SCAN ("12345", "%LLLLLd", N, -1, -1);
SCAN ("12345", "%llllld", N, 0, -1);
SCAN ("12345", "%LLLLLd", N, 0, -1);
SCAN ("test ", "%*s%n", n, 0, 4);
SCAN ("test ", "%2*s%n", n, -1, -1);
SCAN ("12 ", "%l2d", n, -1, -1);
SCAN ("test ", "%2*s%n", n, 0, -1);
SCAN ("12 ", "%l2d", n, 0, -1);
SCAN ("12 ", "%2ld", N, 1, 12);
n = -1;
N = -1;
retval = sscanf ("1 1", "%d %Z", &n, &N);
printf ("sscanf (\"1 1\", \"%%d %%Z\", &n, &N) => %d, n = %d, N = %ld\n", \
retval, n, N); \
result |= retval != 1 || n != 1 || N != -1;
return result;
}

View file

@ -85,11 +85,6 @@
__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 \
{ \
@ -134,10 +129,6 @@
__set_errno (ENOMEM); \
return EOF; \
} while (0)
# define fmt_error() do { \
funlockfile (s); \
return EOF; \
} while (0)
# define ARGCHECK(s, format) \
do \
{ \
@ -1259,7 +1250,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
default:
/* If this is an unknown format character punt. */
fmt_error ();
conv_error ();
}
}