@@ -92,7 +92,6 @@ typedef union
#define _IO_FLAGS2_NOTCANCEL 2
#define _IO_FLAGS2_FORTIFY 4
#define _IO_FLAGS2_USER_WBUF 8
-#define _IO_FLAGS2_SCANF_STD 16
#define _IO_FLAGS2_NOCLOSE 32
#define _IO_FLAGS2_CLOEXEC 64
#define _IO_FLAGS2_NEED_LOCK 128
@@ -773,7 +773,7 @@ __attribute__ ((__always_inline__))
_IO_acquire_lock_clear_flags2_fct (FILE **p)
{
FILE *fp = *p;
- fp->_flags2 &= ~(_IO_FLAGS2_FORTIFY | _IO_FLAGS2_SCANF_STD);
+ fp->_flags2 &= ~(_IO_FLAGS2_FORTIFY);
if ((fp->_flags & _IO_USER_LOCK) == 0)
_IO_funlockfile (fp);
}
@@ -787,8 +787,7 @@ _IO_acquire_lock_clear_flags2_fct (FILE **p)
FILE *_IO_acquire_lock_file = (_fp)
# define _IO_release_lock(_fp) \
if (_IO_acquire_lock_file != NULL) \
- _IO_acquire_lock_file->_flags2 &= ~(_IO_FLAGS2_FORTIFY \
- | _IO_FLAGS2_SCANF_STD); \
+ _IO_acquire_lock_file->_flags2 &= ~(_IO_FLAGS2_FORTIFY); \
} while (0)
#endif
@@ -27,13 +27,9 @@ __isoc99_fscanf (FILE *stream, const char *format, ...)
va_list arg;
int done;
- _IO_acquire_lock_clear_flags2 (stream);
- stream->_flags2 |= _IO_FLAGS2_SCANF_STD;
-
va_start (arg, format);
- done = __vfscanf_internal (stream, format, arg, 0);
+ done = __vfscanf_internal (stream, format, arg, SCANF_ISOC99_A);
va_end (arg);
- _IO_release_lock (stream);
return done;
}
@@ -19,26 +19,17 @@
#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;
}
@@ -27,10 +27,9 @@ __isoc99_sscanf (const char *s, const char *format, ...)
int done;
_IO_strfile sf;
FILE *f = _IO_strfile_read (&sf, s);
- f->_flags2 |= _IO_FLAGS2_SCANF_STD;
va_start (arg, format);
- done = __vfscanf_internal (f, format, arg, 0);
+ done = __vfscanf_internal (f, format, arg, SCANF_ISOC99_A);
va_end (arg);
return done;
@@ -23,12 +23,6 @@
int
__isoc99_vfscanf (FILE *stream, const char *format, va_list args)
{
- int done;
-
- _IO_acquire_lock_clear_flags2 (stream);
- stream->_flags2 |= _IO_FLAGS2_SCANF_STD;
- done = __vfscanf_internal (stream, format, args, 0);
- _IO_release_lock (stream);
- return done;
+ return __vfscanf_internal (stream, format, args, SCANF_ISOC99_A);
}
libc_hidden_def (__isoc99_vfscanf)
@@ -23,11 +23,5 @@
int
__isoc99_vscanf (const char *format, va_list args)
{
- int done;
-
- _IO_acquire_lock_clear_flags2 (stdin);
- stdin->_flags2 |= _IO_FLAGS2_SCANF_STD;
- done = __vfscanf_internal (stdin, format, args, 0);
- _IO_release_lock (stdin);
- return done;
+ return __vfscanf_internal (stdin, format, args, SCANF_ISOC99_A);
}
@@ -31,7 +31,6 @@ __isoc99_vsscanf (const char *string, const char *format, va_list args)
{
_IO_strfile sf;
FILE *f = _IO_strfile_read (&sf, string);
- f->_flags2 |= _IO_FLAGS2_SCANF_STD;
- return __vfscanf_internal (f, format, args, 0);
+ return __vfscanf_internal (f, format, args, SCANF_ISOC99_A);
}
libc_hidden_def (__isoc99_vsscanf)
@@ -336,8 +336,6 @@ __vfscanf_internal (FILE *s, const char *format, va_list argptr,
/* Temporarily honor the environmental mode bits. */
if (__ldbl_is_dbl)
mode_flags |= SCANF_LDBL_IS_DBL;
- if (s->_flags2 & _IO_FLAGS2_SCANF_STD)
- mode_flags |= SCANF_ISOC99_A;
#ifdef __va_copy
__va_copy (arg, argptr);
@@ -28,13 +28,9 @@ __isoc99_fwscanf (FILE *stream, const wchar_t *format, ...)
va_list arg;
int done;
- _IO_acquire_lock_clear_flags2 (stream);
- stream->_flags2 |= _IO_FLAGS2_SCANF_STD;
-
va_start (arg, format);
- done = __vfwscanf_internal (stream, format, arg, 0);
+ done = __vfwscanf_internal (stream, format, arg, SCANF_ISOC99_A);
va_end (arg);
- _IO_release_lock (stream);
return done;
}
@@ -28,10 +28,9 @@ __isoc99_swscanf (const wchar_t *s, const wchar_t *format, ...)
_IO_strfile sf;
struct _IO_wide_data wd;
FILE *f = _IO_strfile_readw (&sf, &wd, s);
- f->_flags2 |= _IO_FLAGS2_SCANF_STD;
va_start (arg, format);
- done = __vfwscanf_internal (f, format, arg, 0);
+ done = __vfwscanf_internal (f, format, arg, SCANF_ISOC99_A);
va_end (arg);
return done;
@@ -24,12 +24,6 @@
int
__isoc99_vfwscanf (FILE *stream, const wchar_t *format, va_list args)
{
- int done;
-
- _IO_acquire_lock_clear_flags2 (stream);
- stream->_flags2 |= _IO_FLAGS2_SCANF_STD;
- done = __vfwscanf_internal (stream, format, args, 0);
- _IO_release_lock (stream);
- return done;
+ return __vfwscanf_internal (stream, format, args, SCANF_ISOC99_A);
}
libc_hidden_def (__isoc99_vfwscanf)
@@ -33,7 +33,6 @@ __isoc99_vswscanf (const wchar_t *string, const wchar_t *format, va_list args)
_IO_strfile sf;
struct _IO_wide_data wd;
FILE *f = _IO_strfile_readw (&sf, &wd, string);
- f->_flags2 |= _IO_FLAGS2_SCANF_STD;
- return __vfwscanf_internal (f, format, args, 0);
+ return __vfwscanf_internal (f, format, args, SCANF_ISOC99_A);
}
libc_hidden_def (__isoc99_vswscanf)
@@ -24,11 +24,5 @@
int
__isoc99_vwscanf (const wchar_t *format, va_list args)
{
- int done;
-
- _IO_acquire_lock_clear_flags2 (stdin);
- stdin->_flags2 |= _IO_FLAGS2_SCANF_STD;
- done = __vfwscanf_internal (stdin, format, args, 0);
- _IO_release_lock (stdin);
- return done;
+ return __vfwscanf_internal (stdin, format, args, SCANF_ISOC99_A);
}
@@ -29,13 +29,9 @@ __isoc99_wscanf (const wchar_t *format, ...)
va_list arg;
int done;
- _IO_acquire_lock_clear_flags2 (stdin);
- stdin->_flags2 |= _IO_FLAGS2_SCANF_STD;
-
va_start (arg, format);
- done = __vfwscanf_internal (stdin, format, arg, 0);
+ done = __vfwscanf_internal (stdin, format, arg, SCANF_ISOC99_A);
va_end (arg);
- _IO_release_lock (stdin);
return done;
}