Add code to test printf's I flag with locale.
authordrepper <drepper>
Sun, 18 Jun 2000 00:21:52 +0000 (00:21 +0000)
committerdrepper <drepper>
Sun, 18 Jun 2000 00:21:52 +0000 (00:21 +0000)
localedata/tst-trans.c

index 8bc64ce..a84ee20 100644 (file)
 
 #include <locale.h>
 #include <stdio.h>
+#include <wchar.h>
 #include <wctype.h>
 
 int
 main (void)
 {
+  char buf[30];
+  wchar_t wbuf[30];
   wctrans_t t;
   wint_t wch;
   int errors = 0;
+  int len;
 
   setlocale (LC_ALL, "");
 
@@ -48,5 +52,18 @@ main (void)
   if (wch != L'C')
     errors = 1;
 
+  /* Test the output digit handling.  */
+  swprintf (wbuf, sizeof (wbuf) / sizeof (wbuf[0]), L"%Id", 0x499602D2);
+  errors |= wcscmp (wbuf, L"bcdefghija") != 0;
+  len = wcslen (wbuf);
+  errors |= len != 10;
+  printf ("len = %d, wbuf = L\"%ls\"\n", len, wbuf);
+
+  snprintf (buf, sizeof buf, "%Id", 0x499602D2);
+  errors |= strcmp (buf, "bcdefghija") != 0;
+  len = strlen (buf);
+  errors |= len != 10;
+  printf ("len = %d, buf = \"%s\"\n", len, buf);
+
   return errors;
 }