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

NAME

       tempnam - create a name for a temporary file

SYNOPSIS

       #include <stdio.h>

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

DESCRIPTION

       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.

RETURN VALUE

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

ERRORS

       ENOMEM Allocation of storage failed.

NOTES

       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 free(3).

       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.

BUGS

       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.

CONFORMING TO

       SVID 2, BSD 4.3

SEE ALSO

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

                                                  14 June 1999                                        TEMPNAM(3)