| #include <stdio.h> | 
 | #include <stdlib.h> | 
 | #include <string.h> | 
 |  | 
 | int | 
 | main (void) | 
 | { | 
 |   char *bp; | 
 |   size_t size; | 
 |   FILE *stream; | 
 |   int lose = 0; | 
 |  | 
 |   stream = open_memstream (&bp, &size); | 
 |   fprintf (stream, "hello"); | 
 |   fflush (stream); | 
 |   printf ("buf = %s, size = %Zu\n", bp, size); | 
 |   lose |= size != 5; | 
 |   lose |= strncmp (bp, "hello", size); | 
 |   fprintf (stream, ", world"); | 
 |   fclose (stream); | 
 |   printf ("buf = %s, size = %Zu\n", bp, size); | 
 |   lose |= size != 12; | 
 |   lose |= strncmp (bp, "hello, world", 12); | 
 |  | 
 |   puts (lose ? "Test FAILED!" : "Test succeeded."); | 
 |  | 
 |   free (bp); | 
 |  | 
 |   return lose; | 
 | } |