about summary refs log tree commit diff
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;
+}