diff options
author | Ulrich Drepper <drepper@redhat.com> | 2007-08-11 02:48:28 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2007-08-11 02:48:28 +0000 |
commit | d7e23b02a40384be1eaf00762ea36fd117c462cd (patch) | |
tree | f86b91f34427435c681737868d122ecda195af11 /sysdeps/posix/tempname.c | |
parent | aa132749c85c62b1e28ae885b84c9fa8aed45dfb (diff) | |
download | glibc-d7e23b02a40384be1eaf00762ea36fd117c462cd.tar.gz glibc-d7e23b02a40384be1eaf00762ea36fd117c462cd.tar.xz glibc-d7e23b02a40384be1eaf00762ea36fd117c462cd.zip |
* nscd/connections.c: Use O_CLOEXEC is possible. Use mkostemp
instead of mkstemp. * misc/Makefile (routines): Add mkostemp and mkostemp64. * misc/Versions: Export mkostemp and mkostemp64 for GLIBC_2.7. * misc/mkostemp.c: New file. * misc/mkostemp64.c: New file. * stdlib/stdlib.h: Declare the new functions. * sysdeps/posix/tempname.c: Add new parameter which is added to the flags for open. Remove __GT_BIGFILE handling. * stdio-common/tempname.c: Likewise. * include/stdio.h: Adjust __gen_tempname prototype. Renumber __GT_* constants. * libio/oldtmpfile.c: Adjust for __gen_tempname interface change. * misc/mkdtemp.c: Likewise. * misc/mkstemp.c: Likewise. * misc/mkstemp64.c: Likewise. * misc/mktemp.c: Likewise. * stdio-common/tempnam.c: Likewise. * stdio-common/tmpfile.c: Likewise. * stdio-common/tmpfile64.c: Likewise. * stdio-common/tmpnam.c: Likewise. * stdio-common/tmpnam_r.c: Likewise.
Diffstat (limited to 'sysdeps/posix/tempname.c')
-rw-r--r-- | sysdeps/posix/tempname.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/sysdeps/posix/tempname.c b/sysdeps/posix/tempname.c index c8973a0852..eab658da31 100644 --- a/sysdeps/posix/tempname.c +++ b/sysdeps/posix/tempname.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-1999, 2000, 2001, 2006 Free Software Foundation, Inc. +/* Copyright (C) 1991-2001, 2006, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -37,9 +37,8 @@ #endif #ifndef __GT_FILE # define __GT_FILE 0 -# define __GT_BIGFILE 1 -# define __GT_DIR 2 -# define __GT_NOCREATE 3 +# define __GT_DIR 1 +# define __GT_NOCREATE 2 #endif #if STDC_HEADERS || _LIBC @@ -220,12 +219,11 @@ static const char letters[] = at the time of the call. __GT_FILE: create the file using open(O_CREAT|O_EXCL) and return a read-write fd. The file is mode 0600. - __GT_BIGFILE: same as __GT_FILE but use open64(). __GT_DIR: create a directory, which will be mode 0700. We use a clever algorithm to get hard-to-predict names. */ int -__gen_tempname (char *tmpl, int kind) +__gen_tempname (char *tmpl, int flags, int kind) { int len; char *XXXXXX; @@ -298,11 +296,9 @@ __gen_tempname (char *tmpl, int kind) switch (kind) { case __GT_FILE: - fd = __open (tmpl, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR); - break; - - case __GT_BIGFILE: - fd = __open64 (tmpl, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR); + fd = __open (tmpl, + (flags & ~ACCESSPERMS) + | O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR); break; case __GT_DIR: |