diff options
Diffstat (limited to 'newlib/libc/stdio/mktemp.c')
-rw-r--r-- | newlib/libc/stdio/mktemp.c | 58 |
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); } |