]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Add tests for mbstowcs and wcstombs.
authorUlrich Drepper <drepper@redhat.com>
Sat, 20 Aug 2005 01:02:04 +0000 (01:02 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 20 Aug 2005 01:02:04 +0000 (01:02 +0000)
debug/tst-chk1.c

index 755052c52ba79684ac652396b37a4ff3a18b590c..e011d8602affefc456e1e4bb7ba0f07044668f3d 100644 (file)
@@ -1104,6 +1104,24 @@ do_test (void)
       CHK_FAIL_END
 #endif
 
+      cp = "A";
+      if (mbstowcs (wenough, cp, 10) != 1)
+       {
+         puts ("first mbstowcs test failed");
+         ret = 1;
+       }
+
+#if __USE_FORTIFY_LEVEL >= 1
+      /* We know the wchar_t encoding is ISO 10646.  So pick a
+        character which has a multibyte representation which does not
+        fit.  */
+      CHK_FAIL_START
+      wchar_t wsmallbuf[2];
+      cp = "ABC";
+      mbstowcs (wsmallbuf, cp, 10);
+      CHK_FAIL_END
+#endif
+
       memset (&s, '\0', sizeof (s));
       cp = "A";
       if (mbsnrtowcs (wenough, &cp, 1, 10, &s) != 1)
@@ -1142,6 +1160,24 @@ do_test (void)
       CHK_FAIL_END
 #endif
 
+      wcp = L"A";
+      if (wcstombs (enough, wcp, 10) != 1)
+       {
+         puts ("first wcstombs test failed");
+         ret = 1;
+       }
+
+#if __USE_FORTIFY_LEVEL >= 1
+      /* We know the wchar_t encoding is ISO 10646.  So pick a
+        character which has a multibyte representation which does not
+        fit.  */
+      CHK_FAIL_START
+      char smallbuf[2];
+      wcp = L"ABC";
+      wcstombs (smallbuf, wcp, 10);
+      CHK_FAIL_END
+#endif
+
       memset (&s, '\0', sizeof (s));
       wcp = L"A";
       if (wcsnrtombs (enough, &wcp, 1, 10, &s) != 1)