Home | History | Annotate | Download | only in stdio
History log of /src/lib/libc/stdio/gettemp.c
RevisionDateAuthorComments
 1.24  06-Aug-2025  kre Clean up sources (remove temporary hack)

Remove the temporary hack added so these could build before
O_CLOFORK (etc) became visible to userland.

NFCI.
 1.23  17-Jul-2025  kre Libc functions which need to know about O_CLOFORK.

These are Ricardo Branco's libc updates for affected functions
that use O_CLOFORK &/or FD_CLOFORK.

These are currently padded (by me) with temporary additions so
they build while the O_CLOFORK/FD_CLOFORK definitions remain hidden
to userland.
 1.22  20-Jan-2024  christos branches: 1.22.2;
Catch up with all the lint warnings since exit on warning was disabled.
Disable 'missing header declaration' and 'nested extern' warnings for now.
 1.21  10-Jan-2017  christos include <sys/stat.h>
 1.20  05-Feb-2015  christos branches: 1.20.2;
add a couple of casts.
 1.19  19-Jun-2014  msaitoh Fix "shadows a global declaration" compile error.
 1.18  18-Jun-2014  christos add mkostemp, mkostemps, mkstemps from FreeBSD.
 1.17  21-Jan-2014  seanb branches: 1.17.2;
Handle case where a 0 length template string or a template
of all 'X' would dereference, and maybe assign to, memory
before the template. Simplify.
 1.16  22-Apr-2013  christos PR/47757: Eric Radman: mktemp(3) mangles the pathname if not given an absolute
path
1. on error, gettemp() did not restore the path string
2. when emulating mktemp() it is not an error for the pattern not to represent
a real directory structure
XXX[1]: pullup-5, pullup-6
XXX[2]: the default pattern is the simplistic <pid><X> for mktemp.
 1.15  15-Mar-2012  christos branches: 1.15.2;
- ansify, knf.
- no functional changes
 1.14  20-Oct-2008  apb branches: 1.14.2; 1.14.4; 1.14.20; 1.14.22;
The tools/compat versions of mkstemp() and mkdtemp() need to call the
internal function that's usually named "__gettemp". However in a cross
build, "__gettemp" is in a namespace reserved for the host system, so we
can't use that. Use "__nbcompat_gettemp" instead, following the example
of several other functions or macros in tools/compat. Previously, this
was handled by using the name "gettemp", but that conflicts with the
local gettemp() function in dist/nawk.
 1.13  05-Dec-2003  uebayasi Spaces.
 1.12  27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.11  23-Oct-2003  jmc Move include for reentrant.h inside CONFIG_H test so this works correctly
with tools/compat. Fixes PR#21344
 1.10  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.9  18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.8  14-Sep-2002  thorpej Allow mktemp to be built as a host tool.
 1.7  01-Apr-2002  bjh21 branches: 1.7.2;
Revert addition of mkdtemp() to libnbcompat. I don't think we need mktemp(1)
after all.
 1.6  31-Mar-2002  bjh21 Add mkdtemp to libnbcompat, since glibc doesn't have it an mktemp(1) will
need it.
 1.5  20-Sep-1999  lukem branches: 1.5.10;
back out the #ifdef _DIAGNOSTIC argument checks; too many people complained.
_DIAGASSERT() is still retained.
 1.4  16-Sep-1999  lukem * use _DIAGASSERT() to check pointer arguments against NULL and file
descriptors against -1 (as appropriate).
* add actual checks which to detect stuff that would trigger_DIAGASSERT(),
and attempt to return a sane error condition.
* knf some code
* remove some `register' decls.

the first two items result in the addition of code similar to the
following in various functions:

_DIAGASSERT(path != NULL)
#ifdef _DIAGNOSTIC
if (path == NULL) {
errno = EFAULT;
return (-1);
}
#endif
 1.3  19-Mar-1999  christos braces for gcc-2.8.1
 1.2  27-Jul-1998  mycroft Add a mktempdir(), like mkstemp(), but it creates a directory.
 1.1  27-Jul-1998  mycroft If AUDIT, do not compile certain functions.
 1.5.10.2  17-Sep-2002  nathanw Catch up to -current.
 1.5.10.1  06-Feb-2002  nathanw #include "reentrant.h" before "local.h" so that the thread types used
in fileext.h are avaliable.
 1.7.2.1  30-Nov-2002  he Pull up revision 1.8 (requested by thorpej in ticket #806):
Allow mktemp to build as a host tool.
 1.14.22.1  16-Apr-2015  snj Pull up following revision(s) (requested by msaitoh in ticket #1282):
lib/libc/stdio/gettemp.c: revision 1.16
PR/47757: Eric Radman: mktemp(3) mangles the pathname if not given an absolute
path
1. on error, gettemp() did not restore the path string
2. when emulating mktemp() it is not an error for the pattern not to represent
a real directory structure
XXX[1]: pullup-5, pullup-6
XXX[2]: the default pattern is the simplistic <pid><X> for mktemp.
 1.14.20.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.14.20.1  17-Apr-2012  yamt sync with head
 1.14.4.2  20-Oct-2008  apb The tools/compat versions of mkstemp() and mkdtemp() need to call the
internal function that's usually named "__gettemp". However in a cross
build, "__gettemp" is in a namespace reserved for the host system, so we
can't use that. Use "__nbcompat_gettemp" instead, following the example
of several other functions or macros in tools/compat. Previously, this
was handled by using the name "gettemp", but that conflicts with the
local gettemp() function in dist/nawk.
 1.14.4.1  20-Oct-2008  apb file gettemp.c was added on branch christos-time_t on 2008-10-20 10:28:39 +0000
 1.14.2.1  16-Apr-2015  snj Pull up following revision(s) (requested by msaitoh in ticket #1955):
lib/libc/stdio/gettemp.c: revision 1.16 via patch
PR/47757: Eric Radman: mktemp(3) mangles the pathname if not given an absolute
path
1. on error, gettemp() did not restore the path string
2. when emulating mktemp() it is not an error for the pattern not to represent
a real directory structure
XXX[1]: pullup-5, pullup-6
XXX[2]: the default pattern is the simplistic <pid><X> for mktemp.
 1.15.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.15.2.1  23-Jun-2013  tls resync from head
 1.17.2.1  10-Aug-2014  tls Rebase.
 1.20.2.1  20-Mar-2017  pgoyette Sync with HEAD
 1.22.2.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed