aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--misc/Makefile2
-rw-r--r--misc/Versions2
-rw-r--r--misc/mkstemp64.c31
-rw-r--r--stdlib/stdlib.h11
5 files changed, 51 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 0541977d0a..59ac512794 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2000-09-26 Andreas Jaeger <aj@suse.de>
+
+ * misc/mkstemp64.c: New file.
+ * misc/Makefile (routines): Add mkstemp64.
+ * stdlib/stdlib.h: Add prototype and redirection magic.
+ * misc/Versions: Add mkstemp64.
+
2000-09-26 Thorsten Kukuk <kukuk@suse.de>
* nscd/dbg_log.c (dbg_log): Add missing format string.
diff --git a/misc/Makefile b/misc/Makefile
index 98d6942fda..a6bd90d46e 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -42,7 +42,7 @@ routines := brk sbrk sstk ioctl \
acct chroot fsync sync fdatasync reboot \
gethostid sethostid \
revoke vhangup \
- swapon swapoff mktemp mkstemp mkdtemp \
+ swapon swapoff mktemp mkstemp mkstemp64 mkdtemp \
ualarm usleep \
gtty stty \
ptrace \
diff --git a/misc/Versions b/misc/Versions
index 0e32c23c9e..d9b596bd20 100644
--- a/misc/Versions
+++ b/misc/Versions
@@ -107,7 +107,7 @@ libc {
getloadavg;
# m*
- mincore; mkdtemp;
+ mincore; mkdtemp; mkstemp64;
# p*
posix_madvise;
diff --git a/misc/mkstemp64.c b/misc/mkstemp64.c
new file mode 100644
index 0000000000..0a4a85bf83
--- /dev/null
+++ b/misc/mkstemp64.c
@@ -0,0 +1,31 @@
+/* Copyright (C) 2000 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
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+/* Generate a unique temporary file name from TEMPLATE.
+ The last six characters of TEMPLATE must be "XXXXXX";
+ they are replaced with a string that makes the filename unique.
+ Then open the file and return a fd. */
+int
+mkstemp64 (template)
+ char *template;
+{
+ return __gen_tempname (template, __GT_BIGFILE);
+}
diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h
index 075f47cd9d..a9577e399d 100644
--- a/stdlib/stdlib.h
+++ b/stdlib/stdlib.h
@@ -628,7 +628,18 @@ extern char *mktemp (char *__template) __THROW;
they are replaced with a string that makes the filename unique.
Returns a file descriptor open on the file for reading and writing,
or -1 if it cannot create a uniquely-named file. */
+# ifndef __USE_FILE_OFFSET64
extern int mkstemp (char *__template) __THROW;
+# else
+# ifdef __REDIRECT
+extern int __REDIRECT (mkstemp, (char *__template) __THROW, mkstemp64);
+# else
+# define mkstemp mkstemp64
+# endif
+# endif
+# ifdef __USE_LARGEFILE64
+extern int mkstemp64 (char *__template) __THROW;
+# endif
#endif
#ifdef __USE_BSD