diff options
| author | Michael Kerrisk <mtk.manpages@gmail.com> | 2004-11-03 13:51:07 +0000 |
|---|---|---|
| committer | Michael Kerrisk <mtk.manpages@gmail.com> | 2004-11-03 13:51:07 +0000 |
| commit | fea681dafb1363a154b7fc6d59baa83d2a9ebc5c (patch) | |
| tree | 8ea275c0f242af739617d0afc3e1b16c4eff3dc2 /man3/tmpnam.3 | |
| download | man-pages-fea681dafb1363a154b7fc6d59baa83d2a9ebc5c.tar.gz | |
Import of man-pages 1.70man-pages-1.70
Diffstat (limited to 'man3/tmpnam.3')
| -rw-r--r-- | man3/tmpnam.3 | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/man3/tmpnam.3 b/man3/tmpnam.3 new file mode 100644 index 0000000000..e42c49865a --- /dev/null +++ b/man3/tmpnam.3 @@ -0,0 +1,110 @@ +.\" Copyright (c) 1999 Andries Brouwer (aeb@cwi.nl) +.\" +.\" Permission is granted to make and distribute verbatim copies of this +.\" manual provided the copyright notice and this permission notice are +.\" preserved on all copies. +.\" +.\" Permission is granted to copy and distribute modified versions of this +.\" manual under the conditions for verbatim copying, provided that the +.\" entire resulting derived work is distributed under the terms of a +.\" permission notice identical to this one. +.\" +.\" Since the Linux kernel and libraries are constantly changing, this +.\" manual page may be incorrect or out-of-date. The author(s) assume no +.\" responsibility for errors or omissions, or for damages resulting from +.\" the use of the information contained herein. The author(s) may not +.\" have taken the same level of care in the production of this manual, +.\" which is licensed free of charge, as they might when working +.\" professionally. +.\" +.\" Formatted or processed versions of this manual, if unaccompanied by +.\" the source, must acknowledge the copyright and authors of this work. +.\" +.\" 2003-11-15, aeb, added tmpnam_r +.\" +.TH TMPNAM 3 2003-11-15 "" "Linux Programmer's Manual" +.SH NAME +tmpnam, tmpnam_r \- create a name for a temporary file +.SH SYNOPSIS +.nf +.B #include <stdio.h> +.sp +.BI "char *tmpnam(char *" s ); +.fi +.SH DESCRIPTION +The +.B 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 +.I s +is NULL this name is generated in an internal static buffer +and may be overwritten by the next call to +.BR tmpnam() . +If +.I s +is not NULL, the name is copied to the character array (of length +at least +.IR L_tmpnam ) +pointed to by +.I s +and the value +.I s +is returned in case of success. +.LP +The path name that is created, has a directory prefix +.IR P_tmpdir . +(Both +.I L_tmpnam +and +.I P_tmpdir +are defined in +.IR <stdio.h> , +just like the TMP_MAX mentioned below.) +.SH "RETURN VALUE" +The +.B tmpnam() +function returns a pointer to a unique temporary +filename, or NULL if a unique name cannot be generated. +.SH ERRORS +No errors are defined. +.SH NOTES +The +.B 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. +.LP +Portable applications that use threads cannot call +.B tmpnam() +with NULL parameter if either _POSIX_THREADS or +_POSIX_THREAD_SAFE_FUNCTIONS is defined. +.LP +A POSIX draft proposed to use a function +.B tmpnam_r() +defined by +.sp +.nf +.in +5 +char *tmpnam_r(char *s) { + return s ? tmpnam(s) : NULL; +} +.in +.fi +.sp +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 +.IR "<stdio.h>" . +.SH BUGS +Never use this function. Use +.BR mkstemp (3) +instead. +.SH "CONFORMING TO" +SVID 2, POSIX, BSD 4.3, ISO 9899 +.SH "SEE ALSO" +.BR mkstemp (3), +.BR mktemp (3), +.BR tempnam (3), +.BR tmpfile (3) |
