+2003-08-26 Jeff Johnston <jjohnstn@redhat.com>
+
+ * libc/include/stdio.h: Allow the io64 function prototypes for
+ Cygwin when compiling newlib.
+ * libc/include/sys/stat.h[__CYGWIN__]: Define stat64 as __stat64
+ to expose the Cygwin struct __stat64 type.
+ * libc/stdio64/fseeko64.c: Use _fstat64_r and pass a struct stat64
+ pointer.
+ * libc/stdio64/tmpfile64.c(_tmpfile64_r): Call _fopen64_r.
+
2003-08-23 Christopher Faylor <cgf@redhat.com>
* libc/stdio64/fseeko64.c (fseeko64_r): Rename second fseeko64_r
ssize_t _EXFUN(__getline, (char **, size_t *, FILE *));
#ifdef __LARGE64_FILES
-#ifndef __CYGWIN__
+#if !defined(__CYGWIN__) || defined(_COMPILING_NEWLIB)
FILE * _EXFUN(fdopen64, (int, const char *));
FILE * _EXFUN(fopen64, (const char *, const char *));
_off64_t _EXFUN(ftello64, (FILE *));
#ifdef __CYGWIN__
#include <cygwin/stat.h>
+#define stat64 __stat64
#else
struct stat
{
_fpos64_t target, curoff;
size_t n;
- /* FIXME: this should be stat64. */
- struct stat st;
+ struct stat64 st;
int havepos;
_flockfile(fp);
{
if (seekfn != __sseek64
|| fp->_file < 0
- || _fstat_r (ptr, fp->_file, &st)
+ || _fstat64_r (ptr, fp->_file, &st)
|| (st.st_mode & S_IFMT) != S_IFREG)
{
fp->_flags |= __SNPT;
if ((f = _tmpnam_r (ptr, buf)) == NULL)
return NULL;
- fp = fopen64 (f, "wb+");
+ fp = _fopen64_r (ptr, (const char *)f, "wb+");
e = ptr->_errno;
- _CAST_VOID remove (f);
+ _CAST_VOID _remove_r (ptr, f);
ptr->_errno = e;
return fp;
}