Provided by: manpages-dev_2.17-1_all bug


       tmpnam, tmpnam_r - create a name for a temporary file


       #include <stdio.h>

       char *tmpnam(char *s);


       The  tmpnam()  function  returns  a pointer to a string that is a valid
       filename, and such that a file with this name did  not  exist  at  some
       point  in  time, so that naive programmers may think it a suitable name
       for a temporary file. If the argument s is NULL this name is  generated
       in an internal static buffer and may be overwritten by the next call to
       tmpnam().  If s is not NULL, the name is copied to the character  array
       (of  length  at  least  L_tmpnam)  pointed  to  by s and the value s is
       returned in case of success.

       The path name that is created, has a directory prefix P_tmpdir.   (Both
       L_tmpnam  and  P_tmpdir are defined in <stdio.h>, just like the TMP_MAX
       mentioned below.)


       The tmpnam() function returns a pointer to a unique temporary filename,
       or NULL if a unique name cannot be generated.


       No errors are defined.


       The  tmpnam()  function  generates  a  different string each time it is
       called, up to TMP_MAX times. If it is called more than  TMP_MAX  times,
       the behaviour is implementation defined.

       Portable  applications  that use threads cannot call tmpnam() with NULL
       parameter if either _POSIX_THREADS or  _POSIX_THREAD_SAFE_FUNCTIONS  is

       A POSIX draft proposed to use a function tmpnam_r() defined by

            char *tmpnam_r(char *s) {
                return s ? tmpnam(s) : NULL;

       apparently  as  a warning not to use NULL.  A few systems implement it.
       To get a glibc prototype, define  _SVID_SOURCE  or  _BSD_SOURCE  before
       including <stdio.h>.


       Never use this function. Use tmpfile(3) instead.


       SVID 2, POSIX, 4.3BSD, ISO 9899


       mkstemp(3), mktemp(3), tempnam(3), tmpfile(3)

                                  2003-11-15                         TMPNAM(3)