aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--NEWS2
-rw-r--r--conform/Makefile1
-rw-r--r--include/wchar.h4
-rw-r--r--libio/iovswscanf.c3
-rw-r--r--libio/swscanf.c2
6 files changed, 17 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 046b1ae..ea4aeeb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2015-06-17 Joseph Myers <joseph@codesourcery.com>
+ [BZ #18542]
+ * libio/iovswscanf.c (__vswscanf): Use libc_hidden_def.
+ (vswscanf): Use ldbl_weak_alias instead of ldbl_strong_alias
+ * include/wchar.h (__vswscanf): Declare. Use libc_hidden_proto.
+ * libio/swscanf.c (__swscanf): Call __vswscanf instead of
+ vswscanf.
+ * conform/Makefile (test-xfail-UNIX98/wchar.h/linknamespace):
+ Remove variable.
+
[BZ #18540]
* libio/iofflush.c [!_IO_MTSAFE_IO] (__fflush_unlocked): Define as
strong alias of _IO_fflush. Use libc_hidden_def.
diff --git a/NEWS b/NEWS
index 17a11ab..d501b31 100644
--- a/NEWS
+++ b/NEWS
@@ -22,7 +22,7 @@ Version 2.22
18324, 18333, 18346, 18397, 18409, 18410, 18412, 18418, 18422, 18434,
18444, 18468, 18469, 18470, 18479, 18483, 18495, 18496, 18497, 18498,
18507, 18512, 18519, 18520, 18522, 18527, 18528, 18529, 18530, 18532,
- 18533, 18534, 18536, 18539, 18540.
+ 18533, 18534, 18536, 18539, 18540, 18542.
* Cache information can be queried via sysconf() function on s390 e.g. with
_SC_LEVEL1_ICACHE_SIZE as argument.
diff --git a/conform/Makefile b/conform/Makefile
index 32d2985..0b06103 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -348,4 +348,3 @@ test-xfail-XPG3/unistd.h/linknamespace = yes
test-xfail-XPG4/unistd.h/linknamespace = yes
test-xfail-POSIX/mqueue.h/linknamespace = yes
test-xfail-UNIX98/mqueue.h/linknamespace = yes
-test-xfail-UNIX98/wchar.h/linknamespace = yes
diff --git a/include/wchar.h b/include/wchar.h
index 449ad1d..67d0248 100644
--- a/include/wchar.h
+++ b/include/wchar.h
@@ -197,7 +197,11 @@ 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 7ee3597..a228641 100644
--- a/libio/iovswscanf.c
+++ b/libio/iovswscanf.c
@@ -43,5 +43,6 @@ __vswscanf (const wchar_t *string, const wchar_t *format, _IO_va_list args)
ret = _IO_vfwscanf ((_IO_FILE *) &sf._sbf, format, args, NULL);
return ret;
}
+libc_hidden_def (__vswscanf)
ldbl_hidden_def (__vswscanf, vswscanf)
-ldbl_strong_alias (__vswscanf, vswscanf)
+ldbl_weak_alias (__vswscanf, vswscanf)
diff --git a/libio/swscanf.c b/libio/swscanf.c
index 9e4c256..397dbc5 100644
--- a/libio/swscanf.c
+++ b/libio/swscanf.c
@@ -28,7 +28,7 @@ __swscanf (const wchar_t *s, const wchar_t *format, ...)
int done;
va_start (arg, format);
- done = vswscanf (s, format, arg);
+ done = __vswscanf (s, format, arg);
va_end (arg);
return done;