summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--libio/Makefile2
-rw-r--r--libio/tst-sscanf.c20
3 files changed, 24 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index e3e0b22791..24b56cb381 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,9 @@
* stdio-common/vfscanf.c: Fix handling of %l[].
Reported by Mitsuru Chinen <mchinen@yamato.ibm.com>.
+ * libio/Makefile (tests): Add tst-sscanf.
+ * libio/tst-sscanf.c: New file.
+
* elf/dl-addr.c (_dl_addr): Fix tests to determine dli_sname.
* malloc/mtrace.c (tr_where): dli_sname always points to a
non-empty string if != NULL.
diff --git a/libio/Makefile b/libio/Makefile
index ced5c93568..a10b7dfaa8 100644
--- a/libio/Makefile
+++ b/libio/Makefile
@@ -48,7 +48,7 @@ routines := \
tests = tst_swprintf tst_wprintf tst_swscanf tst_wscanf tst_getwc tst_putwc \
tst_wprintf2 tst-widetext test-fmemopen tst-ext tst-fopenloc \
- tst-fgetws tst-ungetwc1 tst-ungetwc2 tst-swscanf
+ tst-fgetws tst-ungetwc1 tst-ungetwc2 tst-swscanf tst-sscanf
test-srcs = test-freopen
all: # Make this the default target; it will be defined in Rules.
diff --git a/libio/tst-sscanf.c b/libio/tst-sscanf.c
new file mode 100644
index 0000000000..b1a2b8487e
--- /dev/null
+++ b/libio/tst-sscanf.c
@@ -0,0 +1,20 @@
+#include <stdio.h>
+#include <wchar.h>
+
+#define WCS_LENGTH 256
+
+int
+main (void)
+{
+ const char cnv[] ="%l[abc]";
+ const char str[] = "abbcXab";
+ wchar_t wcs[WCS_LENGTH];
+ int result = 0;
+
+ sscanf (str, cnv, wcs);
+ printf ("wcs = \"%ls\"\n", wcs);
+ fflush (stdout);
+ result = wcscmp (wcs, L"abbc") != 0;
+
+ return result;
+}