Provided by: libnetpbm11-dev_10.97.00-2_amd64 bug

NAME

       pm_make_tmpfile() - create a temporary named file

SYNOPSIS

       #include <netpbm/pm.h>

       pm_make_tmpfile(FILE **       fileP,
                       const char ** filenameP);

EXAMPLE

       This simple example creates a temporary file, writes "hello world" to it, then writes some
       search patterns to it, then uses it as input to grep:

       #include <netpbm/pm.h>

       FILE * myfileP;
       const char * myfilename;

       pm_make_tmpfile(&myfileP, &myfilename);

       fprintf(myfile, "^account:\\s.*\n");
       fprintf(myfile, "^name:\\s.*\n");

       fclose(myFileP);

       asprintfN(&grepCommand, "grep --file='%s' /tmp/infile >/tmp/outfile");

       system(grepCommand);

       strfree(grepCommand);

       unlink(myfilename);

       strfree(myfilename);

DESCRIPTION

       This library function is part of Netpbm(1).

       pm_make_tmpfile() creates and opens a temporary file,  returning  to  you  a  stream  file
       handle for it and its name.

       pm_make_tmpfile() chooses a file name that is not already in use, with proper interlocking
       to make sure that it actually creates a file and opens the new file, as opposed to  merely
       opening an existing file.

       If  you  don't  need  to  access  the file by name, use pm_tmpfile() instead, because it's
       cleaner.  With pm_tmpfile(), the operating system always deletes the temporary  file  when
       your program exits, if the program failed to clean up after itself.

       The  temporary  file  goes in the directory named by the TMPFILE environment variable.  If
       TMPFILE is not set or is set to something unusable (e.g.  too  long),  pm_tmpfile()  falls
       back to the value of the standard C library symbol P_tmpdir (like the standard C library's
       tmpfile()).

       The name of the file within that directory is like myprog_blrfx, where myprog is the  name
       of your program (arg 0) and the rest is an arbitrary discriminator.

       If pm_make_tmpfile() is unable to create a temporary file, it issues a message to Standard
       Error and aborts the program.

HISTORY

       pm_tmpfile() was introduced in Netpbm 10.27 (March 2005).

DOCUMENT SOURCE

       This manual page was generated by the Netpbm tool 'makeman' from HTML source.  The  master
       documentation is at

              http://netpbm.sourceforge.net/doc/libmaketmpfile.html

netpbm documentation                     Netpbmesubroutine library: pm_make_tmpfile() function(3)