summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel F. T. Gomes <gabrielftg@linux.ibm.com>2019-11-14 09:25:14 -0300
committerGabriel F. T. Gomes <gabrielftg@linux.ibm.com>2019-11-22 15:29:21 -0300
commit93486ba583ecef1ba17357cfeb658ce3bea583bd (patch)
treef98adc23b103fb7408bf1cba4b1a48d87944bf07
parent8781c1301d55db0a95398eb24c11b99205706bae (diff)
downloadglibc-93486ba583ecef1ba17357cfeb658ce3bea583bd.tar.gz
Use DEPRECATED_SCANF macro for remaining C99-compliant scanf functions
When the commit commit 03992356e6fedc5a5e9d32df96c1a2c79ea28a8f Author: Zack Weinberg <zackw@panix.com> Date: Sat Feb 10 11:58:35 2018 -0500 Use C99-compliant scanf under _GNU_SOURCE with modern compilers. added the DEPRECATED_SCANF macro to select when redirections of *scanf functions to their ISO C99 compliant versions should happen, it accidentally missed doing it for vfwscanf, vwscanf, and vswscanf. Tested for powerpc64le and with build-many-glibcs (i686-linux-gnu and nios2-linux-gnu are failing with current master, and with this patch, but I didn't see a regression). Change-Id: I706b344a3fb50be017cdab9251d9da18a3ba8c60
-rw-r--r--include/wchar.h6
-rw-r--r--libio/iovswscanf.c2
-rw-r--r--wcsmbs/wchar.h3
3 files changed, 2 insertions, 9 deletions
diff --git a/include/wchar.h b/include/wchar.h
index 2cb44954fc..c792b38943 100644
--- a/include/wchar.h
+++ b/include/wchar.h
@@ -114,8 +114,6 @@ libc_hidden_proto (fputws_unlocked)
libc_hidden_proto (putwc_unlocked)
libc_hidden_proto (putwc)
-libc_hidden_proto (vswscanf)
-
libc_hidden_proto (mbrtowc)
libc_hidden_proto (wcrtomb)
extern int __wcscmp (const wchar_t *__s1, const wchar_t *__s2)
@@ -237,11 +235,7 @@ extern int __isoc99_vwscanf (const wchar_t *__restrict __format,
extern int __isoc99_vswscanf (const wchar_t *__restrict __s,
const wchar_t *__restrict __format,
__gnuc_va_list __arg) __THROW;
-extern int __vswscanf (const wchar_t *__restrict __s,
- const wchar_t *__restrict __format,
- __gnuc_va_list __arg) __THROW;
libc_hidden_proto (__isoc99_vswscanf)
-libc_hidden_proto (__vswscanf)
libc_hidden_proto (__isoc99_vfwscanf)
/* Internal functions. */
diff --git a/libio/iovswscanf.c b/libio/iovswscanf.c
index b0759ec862..3876ce7e30 100644
--- a/libio/iovswscanf.c
+++ b/libio/iovswscanf.c
@@ -40,6 +40,4 @@ __vswscanf (const wchar_t *string, const wchar_t *format, va_list args)
FILE *f = _IO_strfile_readw (&sf, &wd, string);
return __vfwscanf_internal (f, format, args, 0);
}
-libc_hidden_def (__vswscanf)
-ldbl_hidden_def (__vswscanf, vswscanf)
ldbl_weak_alias (__vswscanf, vswscanf)
diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h
index 4b731ebb51..fc62fa3e26 100644
--- a/wcsmbs/wchar.h
+++ b/wcsmbs/wchar.h
@@ -685,7 +685,8 @@ extern int vswscanf (const wchar_t *__restrict __s,
__gnuc_va_list __arg)
__THROW /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;
-# if !defined __USE_GNU \
+/* Same redirection as above for the v*wscanf family. */
+# if !__GLIBC_USE (DEPRECATED_SCANF) \
&& (!defined __LDBL_COMPAT || !defined __REDIRECT) \
&& (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
# ifdef __REDIRECT