/* THIS FILE HAS BEEN MODIFIED FROM THE ORIGINAL OPENBSD SOURCE */
/* Changes: Removed mktemp */
-/* $OpenBSD: mktemp.c,v 1.19 2005/08/08 08:05:36 espie Exp $ */
/*
* Copyright (c) 1987, 1993
* The Regents of the University of California. All rights reserved.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* SUCH DAMAGE.
*/
-/* OPENBSD ORIGINAL: lib/libc/stdio/mktemp.c */
-
#include "includes.h"
-#if !defined(HAVE_MKDTEMP) || defined(HAVE_STRICT_MKSTEMP)
+#ifndef HAVE_MKDTEMP
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char rcsid[] = "$OpenBSD: mktemp.c,v 1.13 1998/06/30 23:03:13 deraadt Exp $";
+#endif /* LIBC_SCCS and not lint */
+
+#ifdef HAVE_CYGWIN
+#define open binary_open
+extern int binary_open();
+#endif
static int _gettemp(char *, int *, int, int);
int
-mkstemps(char *path, int slen)
+mkstemps(path, slen)
+ char *path;
+ int slen;
{
int fd;
}
int
-mkstemp(char *path)
+mkstemp(path)
+ char *path;
{
int fd;
}
char *
-mkdtemp(char *path)
+mkdtemp(path)
+ char *path;
{
return(_gettemp(path, (int *)NULL, 1, 0) ? path : (char *)NULL);
}
{
register char *start, *trv, *suffp;
struct stat sbuf;
- int rval;
- pid_t pid;
+ int pid, rval;
if (doopen && domkdir) {
errno = EINVAL;
return (0);
}
pid = getpid();
- while (trv >= path && *trv == 'X' && pid != 0) {
+ while (*trv == 'X' && pid != 0) {
*trv-- = (pid % 10) + '0';
pid /= 10;
}
- while (trv >= path && *trv == 'X') {
+ while (*trv == 'X') {
char c;
pid = (arc4random() & 0xffff) % (26+26);
/*NOTREACHED*/
}
-#endif /* !defined(HAVE_MKDTEMP) || defined(HAVE_STRICT_MKSTEMP) */
+#endif /* !HAVE_MKDTEMP */