mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
Update.
* stdio-common/vfscanf.c: Handle input -- with format %f correctly (it's no input error). * stdio-common/tstscanf.c: Add test case for format %f with input --. * stdio-common/scanf12.c: Correct expected result for first scanf.
This commit is contained in:
parent
40c014b3dc
commit
fcc10ffab6
@ -1,5 +1,10 @@
|
|||||||
2000-07-22 Ulrich Drepper <drepper@redhat.com>
|
2000-07-22 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* stdio-common/vfscanf.c: Handle input -- with format %f correctly
|
||||||
|
(it's no input error).
|
||||||
|
* stdio-common/tstscanf.c: Add test case for format %f with input --.
|
||||||
|
* stdio-common/scanf12.c: Correct expected result for first scanf.
|
||||||
|
|
||||||
* stdio-common/vfprintf.c (process_string_arg): Correct handling
|
* stdio-common/vfprintf.c (process_string_arg): Correct handling
|
||||||
of multibyte character strings in %s format with precision.
|
of multibyte character strings in %s format with precision.
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ main (void)
|
|||||||
double d;
|
double d;
|
||||||
int c;
|
int c;
|
||||||
|
|
||||||
if (scanf ("%lg", &d) != EOF)
|
if (scanf ("%lg", &d) != 0)
|
||||||
{
|
{
|
||||||
printf ("scanf didn't failed\n");
|
printf ("scanf didn't failed\n");
|
||||||
exit (1);
|
exit (1);
|
||||||
|
@ -277,7 +277,7 @@ main (int argc, char **argv)
|
|||||||
/* From PR libc/1313 reported by Ben Caradoc-Davies <bmcd@physics.otago.ac.nz>. */
|
/* From PR libc/1313 reported by Ben Caradoc-Davies <bmcd@physics.otago.ac.nz>. */
|
||||||
float value;
|
float value;
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
res = sscanf ("0123", "%2f", &value);
|
res = sscanf ("0123", "%2f", &value);
|
||||||
if (res != 1 || value != 1.0)
|
if (res != 1 || value != 1.0)
|
||||||
{
|
{
|
||||||
@ -285,6 +285,19 @@ main (int argc, char **argv)
|
|||||||
result = 1;
|
result = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fputs ("Test 10:\n", stdout);
|
||||||
|
{
|
||||||
|
float value;
|
||||||
|
int res;
|
||||||
|
|
||||||
|
res = sscanf ("--", "%f", &value);
|
||||||
|
if (res != 0)
|
||||||
|
{
|
||||||
|
fputs ("test failed!\n", stdout);
|
||||||
|
result = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
exit (result);
|
exit (result);
|
||||||
}
|
}
|
||||||
|
@ -1270,7 +1270,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||||||
|
|
||||||
if (n == 10)
|
if (n == 10)
|
||||||
{
|
{
|
||||||
/*Have not yet found the digit. */
|
/* Have not yet found the digit. */
|
||||||
while (++from_level <= to_level)
|
while (++from_level <= to_level)
|
||||||
{
|
{
|
||||||
/* Search all ten digits of this level. */
|
/* Search all ten digits of this level. */
|
||||||
@ -1491,7 +1491,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||||||
{
|
{
|
||||||
/* This is no valid number. */
|
/* This is no valid number. */
|
||||||
ungetc (c, s);
|
ungetc (c, s);
|
||||||
input_error ();
|
conv_error ();
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
/* Match against the decimal point. At this point
|
/* Match against the decimal point. At this point
|
||||||
@ -1524,7 +1524,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||||||
c = *--cmpp;
|
c = *--cmpp;
|
||||||
}
|
}
|
||||||
|
|
||||||
input_error ();
|
conv_error ();
|
||||||
}
|
}
|
||||||
if (width > 0)
|
if (width > 0)
|
||||||
/* +1 because we substract below. */
|
/* +1 because we substract below. */
|
||||||
|
Loading…
Reference in New Issue
Block a user