diff options
Diffstat (limited to 'wcsmbs')
-rw-r--r-- | wcsmbs/isoc99_fwscanf.c | 2 | ||||
-rw-r--r-- | wcsmbs/isoc99_swscanf.c | 12 | ||||
-rw-r--r-- | wcsmbs/isoc99_vfwscanf.c | 2 | ||||
-rw-r--r-- | wcsmbs/isoc99_vswscanf.c | 16 | ||||
-rw-r--r-- | wcsmbs/isoc99_vwscanf.c | 2 | ||||
-rw-r--r-- | wcsmbs/isoc99_wscanf.c | 2 |
6 files changed, 15 insertions, 21 deletions
diff --git a/wcsmbs/isoc99_fwscanf.c b/wcsmbs/isoc99_fwscanf.c index 0c6a2c47ac..00b07dd48e 100644 --- a/wcsmbs/isoc99_fwscanf.c +++ b/wcsmbs/isoc99_fwscanf.c @@ -32,7 +32,7 @@ __isoc99_fwscanf (FILE *stream, const wchar_t *format, ...) stream->_flags2 |= _IO_FLAGS2_SCANF_STD; va_start (arg, format); - done = _IO_vfwscanf (stream, format, arg, NULL); + done = __vfwscanf_internal (stream, format, arg, 0); va_end (arg); _IO_release_lock (stream); diff --git a/wcsmbs/isoc99_swscanf.c b/wcsmbs/isoc99_swscanf.c index ff523db706..40401d0aa1 100644 --- a/wcsmbs/isoc99_swscanf.c +++ b/wcsmbs/isoc99_swscanf.c @@ -16,20 +16,22 @@ <http://www.gnu.org/licenses/>. */ #include <stdarg.h> -#include <stdio.h> -#include <libioP.h> -#include <wchar.h> +#include <libio/strfile.h> /* Read formatted input from S, according to the format string FORMAT. */ -/* VARARGS2 */ + int __isoc99_swscanf (const wchar_t *s, const wchar_t *format, ...) { va_list arg; int done; + _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 = __isoc99_vswscanf (s, format, arg); + done = __vfwscanf_internal (f, format, arg, 0); va_end (arg); return done; diff --git a/wcsmbs/isoc99_vfwscanf.c b/wcsmbs/isoc99_vfwscanf.c index 7beb45b4d3..f70c6b596d 100644 --- a/wcsmbs/isoc99_vfwscanf.c +++ b/wcsmbs/isoc99_vfwscanf.c @@ -28,7 +28,7 @@ __isoc99_vfwscanf (FILE *stream, const wchar_t *format, va_list args) _IO_acquire_lock_clear_flags2 (stream); stream->_flags2 |= _IO_FLAGS2_SCANF_STD; - done = _IO_vfwscanf (stream, format, args, NULL); + done = __vfwscanf_internal (stream, format, args, 0); _IO_release_lock (stream); return done; } diff --git a/wcsmbs/isoc99_vswscanf.c b/wcsmbs/isoc99_vswscanf.c index 130769154d..b91eb651a3 100644 --- a/wcsmbs/isoc99_vswscanf.c +++ b/wcsmbs/isoc99_vswscanf.c @@ -24,24 +24,16 @@ This exception applies to code released by its copyright holders in files containing the exception. */ -#include <libioP.h> #include <wchar.h> -#include "../libio/strfile.h" +#include <libio/strfile.h> int __isoc99_vswscanf (const wchar_t *string, const wchar_t *format, va_list args) { - int ret; _IO_strfile sf; struct _IO_wide_data wd; -#ifdef _IO_MTSAFE_IO - sf._sbf._f._lock = NULL; -#endif - _IO_no_init (&sf._sbf._f, _IO_USER_LOCK, 0, &wd, &_IO_wstr_jumps); - _IO_fwide (&sf._sbf._f, 1); - _IO_wstr_init_static (&sf._sbf._f, (wchar_t *)string, 0, NULL); - sf._sbf._f._flags2 |= _IO_FLAGS2_SCANF_STD; - ret = _IO_vfwscanf ((FILE *) &sf._sbf, format, args, NULL); - return ret; + FILE *f = _IO_strfile_readw (&sf, &wd, string); + f->_flags2 |= _IO_FLAGS2_SCANF_STD; + return __vfwscanf_internal (f, format, args, 0); } libc_hidden_def (__isoc99_vswscanf) diff --git a/wcsmbs/isoc99_vwscanf.c b/wcsmbs/isoc99_vwscanf.c index 049521b964..eb22c8acae 100644 --- a/wcsmbs/isoc99_vwscanf.c +++ b/wcsmbs/isoc99_vwscanf.c @@ -28,7 +28,7 @@ __isoc99_vwscanf (const wchar_t *format, va_list args) _IO_acquire_lock_clear_flags2 (stdin); stdin->_flags2 |= _IO_FLAGS2_SCANF_STD; - done = _IO_vfwscanf (stdin, format, args, NULL); + done = __vfwscanf_internal (stdin, format, args, 0); _IO_release_lock (stdin); return done; } diff --git a/wcsmbs/isoc99_wscanf.c b/wcsmbs/isoc99_wscanf.c index abfbd50c11..59f80d78fb 100644 --- a/wcsmbs/isoc99_wscanf.c +++ b/wcsmbs/isoc99_wscanf.c @@ -33,7 +33,7 @@ __isoc99_wscanf (const wchar_t *format, ...) stdin->_flags2 |= _IO_FLAGS2_SCANF_STD; va_start (arg, format); - done = _IO_vfwscanf (stdin, format, arg, NULL); + done = __vfwscanf_internal (stdin, format, arg, 0); va_end (arg); _IO_release_lock (stdin); |