text: /* open_memstream example.
     Copyright (C) 1991-2015 Free Software Foundation, Inc.
  
     This program is free software; you can redistribute it and/or
     modify it under the terms of the GNU General Public License
     as published by the Free Software Foundation; either version 2
     of the License, or (at your option) any later version.
  
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.
  
     You should have received a copy of the GNU General Public License
     along with this program; if not, if not, see <http://www.gnu.org/licenses/>.
  */
  
  #include <stdio.h>
  
  int
  main (void)
  {
    char *bp;
    size_t size;
    FILE *stream;
  
    stream = open_memstream (&bp, &size);
    fprintf (stream, "hello");
    fflush (stream);
    printf ("buf = `%s', size = %d\n", bp, size);
    fprintf (stream, ", world");
    fclose (stream);
    printf ("buf = `%s', size = %d\n", bp, size);
  
    return 0;
  }
  