Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/stdio/mktemp.c')
-rw-r--r--newlib/libc/stdio/mktemp.c58
1 files changed, 25 insertions, 33 deletions
diff --git a/newlib/libc/stdio/mktemp.c b/newlib/libc/stdio/mktemp.c
index 59e7a5c66..86159089b 100644
--- a/newlib/libc/stdio/mktemp.c
+++ b/newlib/libc/stdio/mktemp.c
@@ -1,3 +1,8 @@
+/* This is file MKTEMP.C */
+/* This file may have been modified by DJ Delorie (Jan 1991). If so,
+** these modifications are Copyright (C) 1991 DJ Delorie
+*/
+
/*
* Copyright (c) 1987 Regents of the University of California.
* All rights reserved.
@@ -16,10 +21,6 @@
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
-/* This is file MKTEMP.C */
-/* This file may have been modified by DJ Delorie (Jan 1991). If so,
-** these modifications are Copyright (C) 1991 DJ Delorie.
-*/
/*
FUNCTION
@@ -39,8 +40,8 @@ ANSI_SYNOPSIS
char *mktemp(char *<[path]>);
int mkstemp(char *<[path]>);
- char *_mktemp_r(struct _reent *<[reent]>, char *<[path]>);
- int *_mkstemp_r(struct _reent *<[reent]>, char *<[path]>);
+ char *_mktemp_r(void *<[reent]>, char *<[path]>);
+ int *_mkstemp_r(void *<[reent]>, char *<[path]>);
TRAD_SYNOPSIS
#include <stdio.h>
@@ -51,11 +52,11 @@ TRAD_SYNOPSIS
char *<[path]>;
char *_mktemp_r(<[reent]>, <[path]>)
- struct _reent *<[reent]>;
+ char *<[reent]>;
char *<[path]>;
int _mkstemp_r(<[reent]>, <[path]>)
- struct _reent *<[reent]>;
+ char *<[reent]>;
char *<[path]>;
DESCRIPTION
@@ -92,20 +93,19 @@ V Interface Definition requires <<mktemp>> as of Issue 2.
Supporting OS subroutines required: <<getpid>>, <<open>>, <<stat>>.
*/
-#include <_ansi.h>
-#include <reent.h>
#include <sys/types.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <errno.h>
#include <stdio.h>
#include <ctype.h>
+#include <reent.h>
static int
-_DEFUN(_gettemp, (ptr, path, doopen),
- struct _reent *ptr _AND
- char *path _AND
- register int *doopen)
+_DEFUN (_gettemp, (ptr, path, doopen),
+ struct _reent *ptr _AND
+ char *path _AND
+ register int *doopen)
{
register char *start, *trv;
struct stat sbuf;
@@ -132,11 +132,7 @@ _DEFUN(_gettemp, (ptr, path, doopen),
if (*trv == '/')
{
*trv = '\0';
-#ifdef __USE_INTERNAL_STAT64
- if (_stat64_r (ptr, path, &sbuf))
-#else
if (_stat_r (ptr, path, &sbuf))
-#endif
return (0);
if (!(sbuf.st_mode & S_IFDIR))
{
@@ -155,18 +151,14 @@ _DEFUN(_gettemp, (ptr, path, doopen),
if ((*doopen = _open_r (ptr, path, O_CREAT | O_EXCL | O_RDWR, 0600))
>= 0)
return 1;
-#if defined(__CYGWIN__)
+#if defined(__CYGWIN32__) || defined(__CYGWIN__)
if (ptr->_errno != EEXIST && ptr->_errno != EACCES)
#else
if (ptr->_errno != EEXIST)
#endif
return 0;
}
-#ifdef __USE_INTERNAL_STAT64
- else if (_stat64_r (ptr, path, &sbuf))
-#else
else if (_stat_r (ptr, path, &sbuf))
-#endif
return (ptr->_errno == ENOENT ? 1 : 0);
/* tricky little algorithm for backward compatibility */
@@ -190,9 +182,9 @@ _DEFUN(_gettemp, (ptr, path, doopen),
}
int
-_DEFUN(_mkstemp_r, (ptr, path),
- struct _reent *ptr _AND
- char *path)
+_DEFUN (_mkstemp_r, (ptr, path),
+ struct _reent *ptr _AND
+ char *path)
{
int fd;
@@ -200,9 +192,9 @@ _DEFUN(_mkstemp_r, (ptr, path),
}
char *
-_DEFUN(_mktemp_r, (ptr, path),
- struct _reent *ptr _AND
- char *path)
+_DEFUN (_mktemp_r, (ptr, path),
+ struct _reent *ptr _AND
+ char *path)
{
return (_gettemp (ptr, path, (int *) NULL) ? path : (char *) NULL);
}
@@ -210,8 +202,8 @@ _DEFUN(_mktemp_r, (ptr, path),
#ifndef _REENT_ONLY
int
-_DEFUN(mkstemp, (path),
- char *path)
+_DEFUN (mkstemp, (path),
+ char *path)
{
int fd;
@@ -219,8 +211,8 @@ _DEFUN(mkstemp, (path),
}
char *
-_DEFUN(mktemp, (path),
- char *path)
+_DEFUN (mktemp, (path),
+ char *path)
{
return (_gettemp (_REENT, path, (int *) NULL) ? path : (char *) NULL);
}