Flashnux

GNU/Linux man pages

Livre :
Expressions régulières,
Syntaxe et mise en oeuvre :

ISBN : 978-2-7460-9712-4
EAN : 9782746097124
(Editions ENI)

GNU/Linux

CentOS 4.8

i386

tmpnam_r(3)


TMPNAM

TMPNAM

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
NOTES
BUGS
CONFORMING TO
SEE ALSO

NAME

tmpnam, tmpnam_r − create a name for a temporary file

SYNOPSIS

#include <stdio.h>

char *tmpnam(char *s);

DESCRIPTION

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.)

RETURN VALUE

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

ERRORS

No errors are defined.

NOTES

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 defined.

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>.

BUGS

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

CONFORMING TO

SVID 2, POSIX, BSD 4.3, ISO 9899

SEE ALSO

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



tmpnam_r(3)