about summary refs log tree commit diff
path: root/misc
diff options
context:
space:
mode:
Diffstat (limited to 'misc')
-rw-r--r--misc/Makefile2
-rw-r--r--misc/Versions4
-rw-r--r--misc/mkdtemp.c35
-rw-r--r--misc/mkstemp.c4
-rw-r--r--misc/mktemp.c4
5 files changed, 44 insertions, 5 deletions
diff --git a/misc/Makefile b/misc/Makefile
index 948c087edf..a1aeaa6c32 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 \
+	    swapon swapoff mktemp mkstemp mkdtemp \
 	    ualarm usleep \
 	    gtty stty \
 	    ptrace \
diff --git a/misc/Versions b/misc/Versions
index 110606330e..d9eee7a746 100644
--- a/misc/Versions
+++ b/misc/Versions
@@ -102,4 +102,8 @@ libc {
     # t*
     tdestroy; truncate64;
   }
+  GLIBC_2.2 {
+    # m*
+    mkdtemp;
+  }
 }
diff --git a/misc/mkdtemp.c b/misc/mkdtemp.c
new file mode 100644
index 0000000000..3961c7a097
--- /dev/null
+++ b/misc/mkdtemp.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 1999 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 directory from TEMPLATE.
+   The last six characters of TEMPLATE must be "XXXXXX";
+   they are replaced with a string that makes the filename unique.
+   The directory is created, mode 700, and its name is returned.
+   (This function comes from OpenBSD.) */
+char *
+mkdtemp (template)
+     char *template;
+{
+  if (__gen_tempname (template, __GT_DIR))
+    return NULL;
+  else
+    return template;
+}
diff --git a/misc/mkstemp.c b/misc/mkstemp.c
index fc911da9a1..8441c8ee2a 100644
--- a/misc/mkstemp.c
+++ b/misc/mkstemp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999 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
@@ -27,5 +27,5 @@ int
 mkstemp (template)
      char *template;
 {
-  return __gen_tempname (template, 1, 0);
+  return __gen_tempname (template, __GT_FILE);
 }
diff --git a/misc/mktemp.c b/misc/mktemp.c
index 36b50031b9..4130f9e2f0 100644
--- a/misc/mktemp.c
+++ b/misc/mktemp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999 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
@@ -26,7 +26,7 @@ char *
 mktemp (template)
      char *template;
 {
-  if (__gen_tempname (template, 0, 0) < 0)
+  if (__gen_tempname (template, __GT_NOCREATE) < 0)
     /* We return the null string if we can't find a unique file name.  */
     template[0] = '\0';