From 6052dbd77a4f4aa79c33708ef975e915304b0f28 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 5 Oct 2021 11:54:12 +0200 Subject: [PATCH] libport: Remove the mkstemps() implementation. Signed-off-by: Alexandre Julliard --- include/wine/port.h | 2 - libs/port/Makefile.in | 1 - libs/port/mkstemps.c | 121 ------------------------------------------ 3 files changed, 124 deletions(-) delete mode 100644 libs/port/mkstemps.c diff --git a/include/wine/port.h b/include/wine/port.h index e5e9b2ee280..ee15981c20f 100644 --- a/include/wine/port.h +++ b/include/wine/port.h @@ -177,6 +177,4 @@ int readlink( const char *path, char *buf, size_t size ); int symlink(const char *from, const char *to); #endif -extern int mkstemps(char *template, int suffix_len); - #endif /* !defined(__WINE_WINE_PORT_H) */ diff --git a/libs/port/Makefile.in b/libs/port/Makefile.in index 7b3ecc159df..a1159d67a02 100644 --- a/libs/port/Makefile.in +++ b/libs/port/Makefile.in @@ -2,7 +2,6 @@ STATICLIB = libwine_port.a C_SRCS = \ lstat.c \ - mkstemps.c \ readlink.c \ spawn.c \ symlink.c diff --git a/libs/port/mkstemps.c b/libs/port/mkstemps.c deleted file mode 100644 index ba92b2aeeb3..00000000000 --- a/libs/port/mkstemps.c +++ /dev/null @@ -1,121 +0,0 @@ -/* Copyright (C) 1991, 1992, 1996, 1998 Free Software Foundation, Inc. - This file is derived from mkstemp.c from 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., 51 Franklin St, Fifth Floor, - Boston, MA 02110-1301, USA */ - -#include "config.h" -#include "wine/port.h" - -#include -#include -#include -#include -#include -#include -#ifdef HAVE_UNISTD_H -#include -#endif -#ifdef HAVE_SYS_TIME_H -#include -#endif - -#ifndef TMP_MAX -#define TMP_MAX 16384 -#endif - -/* - -@deftypefn Replacement int mkstemps (char *@var{template}, int @var{suffix_len}) - -Generate a unique temporary file name from @var{template}. -@var{template} has the form: - -@example - @var{path}/ccXXXXXX@var{suffix} -@end example - -@var{suffix_len} tells us how long @var{suffix} is (it can be zero -length). The last six characters of @var{template} before @var{suffix} -must be @samp{XXXXXX}; they are replaced with a string that makes the -filename unique. Returns a file descriptor open on the file for -reading and writing. - -@end deftypefn - -*/ - -int -mkstemps ( - char *template, - int suffix_len) -{ - static const char letters[] - = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - static unsigned __int64 value; - char *XXXXXX; - size_t len; - int count; - - len = strlen (template); - - if ((int) len < 6 + suffix_len - || strncmp (&template[len - 6 - suffix_len], "XXXXXX", 6)) - { - return -1; - } - - XXXXXX = &template[len - 6 - suffix_len]; - -#ifndef _WIN32 - { - struct timeval tv; - gettimeofday( &tv, NULL ); - value += ((unsigned __int64) tv.tv_usec << 16) ^ tv.tv_sec; - } -#endif - value += getpid(); - - for (count = 0; count < TMP_MAX; ++count) - { - unsigned __int64 v = value; - int fd; - - /* Fill in the random bits. */ - XXXXXX[0] = letters[v % 62]; - v /= 62; - XXXXXX[1] = letters[v % 62]; - v /= 62; - XXXXXX[2] = letters[v % 62]; - v /= 62; - XXXXXX[3] = letters[v % 62]; - v /= 62; - XXXXXX[4] = letters[v % 62]; - v /= 62; - XXXXXX[5] = letters[v % 62]; - - fd = open (template, O_RDWR|O_CREAT|O_EXCL, 0600); - if (fd >= 0) - /* The file does not exist. */ - return fd; - - /* This is a random value. It is only necessary that the next - TMP_MAX values generated by adding 7777 to VALUE are different - with (module 2^32). */ - value += 7777; - } - - return -1; -}