+ obstack_finish (&obs);
+ }
+
+ /* Check for generating much more output than a chunk size. */
+ {
+ char *base = obstack_base (&obs);
+ char *new_base;
+ int result;
+ int i;
+
+ ASSERT (obstack_chunk_size (&obs) < 10000);
+ result = my_obstack_printf (&obs, "%010000d", 0);
+ ASSERT (result == 10000);
+ ASSERT (result == obstack_object_size (&obs));
+ new_base = obstack_base (&obs);
+ ASSERT (base != new_base);
+ for (i = 0; i < 10000; i++)
+ ASSERT (new_base[i] == '0');