]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - stdio-common/tst-obprintf.c
[powerpc] No need to enter "Ignore Exceptions Mode"
[thirdparty/glibc.git] / stdio-common / tst-obprintf.c
index e94d7520c2612b11337c3a9e472034b075f5e94b..51515932adbea6c1682630d204912dd19764af56 100644 (file)
@@ -4,8 +4,8 @@
 #include <stdlib.h>
 
 
-int
-main (void)
+static int
+do_test (void)
 {
   struct obstack ob;
   int n;
@@ -17,10 +17,22 @@ main (void)
 
   obstack_init (&ob);
 
-  for (n = 0; n < 10000; ++n)
+  for (n = 0; n < 40000; ++n)
     {
       mcheck_check_all ();
       obstack_printf (&ob, "%.*s%05d", 1 + n % 7, "foobarbaz", n);
+      if (n % 777 == 0)
+       obstack_finish (&ob);
+    }
+
+  /* Another loop where we finish all objects, each of size 1.  This will
+     manage to call `obstack_print' with all possible positions inside
+     an obstack chunk.  */
+  for (n = 0; n < 40000; ++n)
+    {
+      mcheck_check_all ();
+      obstack_printf (&ob, "%c", 'a' + n % 26);
+      obstack_finish (&ob);
     }
 
   /* And a final check.  */
@@ -28,3 +40,6 @@ main (void)
 
   return 0;
 }
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"