aboutsummaryrefslogtreecommitdiffstats
path: root/mkstemp.c
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2009-07-02 17:20:27 +0000
committerGerald Combs <gerald@wireshark.org>2009-07-02 17:20:27 +0000
commit72a20c1695d963755190c2975ecdab05ad67c0f3 (patch)
treef0d1a8503bfebe75fcb95ebbfc905154f58b21de /mkstemp.c
parent9952ce524f3b196be80b175f6784438e856f7980 (diff)
Pull mkstemp() into tempfile.c. That's the only place we use it now, and
it's arguably the only place we _should_ use it. Add create_tempdir() to tempfile.c and use it to create a temp directory for IP maps. This should fix bug 3530. (This still doesn't work on IE 8 / Vista here. IE gives an access denied error in OpenLayers.js, but this is a separate issue). svn path=/trunk/; revision=28920
Diffstat (limited to 'mkstemp.c')
-rw-r--r--mkstemp.c88
1 files changed, 0 insertions, 88 deletions
diff --git a/mkstemp.c b/mkstemp.c
deleted file mode 100644
index 93e34a6cbf..0000000000
--- a/mkstemp.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Copyright (C) 1991, 1992, 1996, 1998 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. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <stdio.h>
-
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef _WIN32
-#include <process.h> /* For spawning child process */
-#endif
-
-#include <glib.h>
-
-#include <wsutil/file_util.h>
-
-#ifndef __set_errno
-#define __set_errno(x) errno=(x)
-#endif
-
-/* 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.
- Returns a file descriptor open on the file for reading and writing. */
-int
-mkstemp (template)
- char *template;
-{
- static const char letters[]
- = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
- size_t len;
- size_t i;
-
- len = strlen (template);
- if (len < 6 || strcmp (&template[len - 6], "XXXXXX"))
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- if (g_snprintf (&template[len - 5], 6, "%.5u",
- (unsigned int) getpid () % 100000) != 5)
- /* Inconceivable lossage. */
- return -1;
-
- for (i = 0; i < sizeof (letters); ++i)
- {
- int fd;
-
- template[len - 6] = letters[i];
-
- fd = ws_open (template, O_RDWR|O_BINARY|O_CREAT|O_EXCL, 0600);
- if (fd >= 0)
- return fd;
- }
-
- /* We return the null string if we can't find a unique file name. */
-
- template[0] = '\0';
- return -1;
-}