* configure.host: Define stdio64_dir for Cygwin.

* libc/include/stdio.h: Change definition of fpos_t to fulfill
	Cygwin 64bit file access requirements.
	Drop definition of f*64() functions when compiled for Cygwin.
	* libc/include/sys/config.h: Define __LARGE64_FILES for Cygwin.
	* libc/reent/lseek64r.c: Use _off64_t instead of off64_t.
	* libc/stdio64/local64.h: Use _fpos64_t instead of fpos64_t.
This commit is contained in:
Corinna Vinschen 2003-03-07 20:41:49 +00:00
parent 6f8102cb71
commit 5582abd2c7
6 changed files with 29 additions and 7 deletions

View File

@ -1,3 +1,13 @@
2003-03-07 Corinna Vinschen <corinna@vinschen.de>
* configure.host: Define stdio64_dir for Cygwin.
* libc/include/stdio.h: Change definition of fpos_t to fulfill
Cygwin 64bit file access requirements.
Drop definition of f*64() functions when compiled for Cygwin.
* libc/include/sys/config.h: Define __LARGE64_FILES for Cygwin.
* libc/reent/lseek64r.c: Use _off64_t instead of off64_t.
* libc/stdio64/local64.h: Use _fpos64_t instead of fpos64_t.
2003-03-07 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/reent.h: Remove extraneous _sig_func

View File

@ -288,6 +288,7 @@ case "${host}" in
*-*-cygwin*)
sys_dir=cygwin
posix_dir=posix
stdio64_dir=stdio64
;;
*-*-netware*)
signal_dir=

View File

@ -47,12 +47,20 @@
_BEGIN_STD_C
typedef _fpos_t fpos_t;
typedef __FILE FILE;
#ifdef __CYGWIN__
#ifdef __CYGWIN_USE_BIG_TYPES__
typedef _fpos64_t fpos_t;
#else
typedef _fpos_t fpos_t;
#endif
#else
typedef _fpos_t fpos_t;
#ifdef __LARGE64_FILES
typedef _fpos64_t fpos64_t;
#endif
#endif /* !__CYGWIN__ */
#include <sys/stdio.h>
@ -287,6 +295,7 @@ ssize_t _EXFUN(__getdelim, (char **, size_t *, int, FILE *));
ssize_t _EXFUN(__getline, (char **, size_t *, FILE *));
#ifdef __LARGE64_FILES
#ifndef __CYGWIN__
FILE * _EXFUN(fopen64, (const char *, const char *));
_off64_t _EXFUN(ftello64, (FILE *));
_off64_t _EXFUN(fseeko64, (FILE *, _off64_t, int));
@ -300,6 +309,7 @@ _off64_t _EXFUN(_fseeko64_r, (struct _reent *, FILE *, _off64_t, int));
int _EXFUN(_fgetpos64_r, (struct _reent *, FILE *, _fpos64_t *));
int _EXFUN(_fsetpos64_r, (struct _reent *, FILE *, const _fpos64_t *));
FILE * _EXFUN(_tmpfile64_r, (struct _reent *));
#endif /* !__CYGWIN__ */
#endif /* __LARGE64_FILES */
/*

View File

@ -151,6 +151,7 @@
#if defined(__CYGWIN32__) || defined(__CYGWIN__)
#define __FILENAME_MAX__ (260 - 1 /* NUL */)
#define _READ_WRITE_RETURN_TYPE _ssize_t
#define __LARGE64_FILES 1
#if defined(__INSIDE_CYGWIN__) || defined(_COMPILING_NEWLIB)
#define __IMPORT
#else

View File

@ -48,17 +48,17 @@ DESCRIPTION
with large file support.
*/
off64_t
_off64_t
_lseek64_r (ptr, fd, pos, whence)
struct _reent *ptr;
int fd;
off64_t pos;
_off64_t pos;
int whence;
{
off64_t ret;
_off64_t ret;
errno = 0;
if ((ret = _lseek64 (fd, pos, whence)) == (off64_t) -1 && errno != 0)
if ((ret = _lseek64 (fd, pos, whence)) == (_off64_t) -1 && errno != 0)
ptr->_errno = errno;
return ret;
}

View File

@ -6,8 +6,8 @@
#include "local.h"
#ifdef __LARGE64_FILES
extern fpos64_t _EXFUN(__sseek64,(void *, fpos64_t, int));
extern fpos64_t _EXFUN(__sseek64_error,(void *, fpos64_t, int));
extern _fpos64_t _EXFUN(__sseek64,(void *, _fpos64_t, int));
extern _fpos64_t _EXFUN(__sseek64_error,(void *, _fpos64_t, int));
extern _READ_WRITE_RETURN_TYPE _EXFUN(__swrite64,(void *, char const *, int));
#endif