aboutsummaryrefslogtreecommitdiff
path: root/stdio-common/isoc99_scanf.c
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2018-03-07 14:31:59 -0500
committerGabriel F. T. Gomes <gabriel@inconstante.eti.br>2018-12-05 18:15:42 -0200
commitb87eb3f8feb826ac48463f598fc10476055bee5a (patch)
treef71f60fbd1a5340ca8d2a9015c813b04cf053036 /stdio-common/isoc99_scanf.c
parent349718d4d7841df46bcc36df9bc2baef4c40d6f5 (diff)
downloadglibc-b87eb3f8feb826ac48463f598fc10476055bee5a.zip
glibc-b87eb3f8feb826ac48463f598fc10476055bee5a.tar.gz
glibc-b87eb3f8feb826ac48463f598fc10476055bee5a.tar.bz2
Use SCANF_ISOC99_A instead of _IO_FLAGS2_SCANF_STD.
Change the callers of __vfscanf_internal and __vfwscanf_internal that want C99-compliant behavior to communicate this via the new flags argument, rather than setting bits on the FILE object. This also means these functions do not need to do their own locking. Tested for powerpc and powerpc64le.
Diffstat (limited to 'stdio-common/isoc99_scanf.c')
-rw-r--r--stdio-common/isoc99_scanf.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/stdio-common/isoc99_scanf.c b/stdio-common/isoc99_scanf.c
index 64c873e..3998322 100644
--- a/stdio-common/isoc99_scanf.c
+++ b/stdio-common/isoc99_scanf.c
@@ -19,26 +19,16 @@
#include <stdio.h>
#include <libioP.h>
-
/* Read formatted input from stdin according to the format string FORMAT. */
-/* VARARGS1 */
int
__isoc99_scanf (const char *format, ...)
{
va_list arg;
int done;
-#ifdef _IO_MTSAFE_IO
- _IO_acquire_lock_clear_flags2 (stdin);
-#endif
- stdin->_flags2 |= _IO_FLAGS2_SCANF_STD;
-
va_start (arg, format);
- done = __vfscanf_internal (stdin, format, arg, 0);
+ done = __vfscanf_internal (stdin, format, arg, SCANF_ISOC99_A);
va_end (arg);
-#ifdef _IO_MTSAFE_IO
- _IO_release_lock (stdin);
-#endif
return done;
}