From 93486ba583ecef1ba17357cfeb658ce3bea583bd Mon Sep 17 00:00:00 2001 From: "Gabriel F. T. Gomes" Date: Thu, 14 Nov 2019 09:25:14 -0300 Subject: Use DEPRECATED_SCANF macro for remaining C99-compliant scanf functions When the commit commit 03992356e6fedc5a5e9d32df96c1a2c79ea28a8f Author: Zack Weinberg 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 --- include/wchar.h | 6 ------ libio/iovswscanf.c | 2 -- wcsmbs/wchar.h | 3 ++- 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 -- cgit 1.4.1