Back to index

glibc  2.9
Defines | Functions
tst-obprintf.c File Reference
#include <mcheck.h>
#include <obstack.h>
#include <stdio.h>
#include <stdlib.h>

Go to the source code of this file.

Defines

#define obstack_chunk_alloc   malloc
#define obstack_chunk_free   free

Functions

int main (void)

Define Documentation

#define obstack_chunk_free   free

Function Documentation

int main ( void  )

Definition at line 8 of file tst-obprintf.c.

{
  struct obstack ob;
  int n;

  mcheck_pedantic (NULL);

#define obstack_chunk_alloc malloc
#define obstack_chunk_free free

  obstack_init (&ob);

  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.  */
  mcheck_check_all ();

  return 0;
}

Here is the call graph for this function: