Provided by: manpages-pt-dev_20040726-4_all bug


       tempnam - create a name for a temporary file


       #include <stdio.h>

       char *tempnam(const char *dir, const char *pfx);


       The  tempnam()  function  returns a pointer to a string that is a valid filename, and such
       that a file with this name did not exist when tempnam() checked.  The filename  suffix  of
       the  pathname  generated  will  start with pfx in case pfx is a non-NULL string of at most
       five bytes.  The directory prefix part  of  the  pathname  generated  is  required  to  be
       `appropriate'  (often  that  at  least implies writable).  Attempts to find an appropriate
       directory go through the following steps: (i) In  case  the  environment  variable  TMPDIR
       exists  and  contains the name of an appropriate directory, that is used.  (ii) Otherwise,
       if the dir argument is non-NULL and appropriate, it is used.   (iii)  Otherwise,  P_tmpdir
       (as  defined  in  <stdio.h>)  is  used  when appropriate.  (iv) Finally an implementation-
       defined directory may be used.


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


       ENOMEM Allocation of storage failed.


       SUSv2  does  not mention the use of TMPDIR; glibc will use it only when the program is not
       suid.  SVID2 specifies that the directory used under (iv) is /tmp.  SVID2  specifies  that
       the  string  returned by tempnam() was allocated using malloc(3) and hence can be freed by

       The tempnam() function generates a different string each time it is called, up to  TMP_MAX
       (defined  in  <stdio.h>)  times. If it is called more than TMP_MAX times, the behaviour is
       implementation defined.

       In case the pfx argument has length larger than five, glibc will use the first five bytes.
       Upon failure to find a unique name, glibc will return EEXIST.


       The  precise meaning of `appropriate' is undefined; it is unspecified how accessibility of
       a directory is determined.  Never use this function. Use mkstemp(3) instead.


       SVID 2, BSD 4.3


       mktemp(3), mkstemp(3), tmpfile(3), tmpnam(3)

                                           14 June 1999                                TEMPNAM(3)