From 99ebea03824c55b060cd74001658c7b0d025a608 Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Sun, 3 Apr 2011 17:44:02 +0200 Subject: [PATCH] unix.c: Adapt stat DEFINEs since MinGW64 supports LFS. 2011-04-04 Tobias Burnus * unix.c: Adapt stat DEFINEs since MinGW64 supports LFS. (fallback_access, open_internal4, compare_file_filename, find_file, file_size, inquire_sequential, inquire_direct, inquire_formatted): Use "struct stat" instead of gfstat_t. From-SVN: r171911 --- libgfortran/ChangeLog | 7 +++++++ libgfortran/io/unix.c | 27 ++++++++++++++------------- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 4557c7cdce9..bae9d3c5d45 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,10 @@ +2011-04-04 Tobias Burnus + + * unix.c: Adapt stat DEFINEs since MinGW64 supports LFS. + (fallback_access, open_internal4, compare_file_filename, + find_file, file_size, inquire_sequential, inquire_direct, + inquire_formatted): Use "struct stat" instead of gfstat_t. + 2011-03-27 Tobias Burnus PR fortran/18918 diff --git a/libgfortran/io/unix.c b/libgfortran/io/unix.c index edccdd6397a..d14d2b4ec14 100644 --- a/libgfortran/io/unix.c +++ b/libgfortran/io/unix.c @@ -48,10 +48,14 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define WIN32_LEAN_AND_MEAN #include +#if !defined(_FILE_OFFSET_BITS) || _FILE_OFFSET_BITS != 64 +#undef lseek #define lseek _lseeki64 +#undef fstat #define fstat _fstati64 +#undef stat #define stat _stati64 -typedef struct _stati64 gfstat_t; +#endif #ifndef HAVE_WORKING_STAT static uint64_t @@ -96,9 +100,6 @@ id_from_fd (const int fd) } #endif - -#else -typedef struct stat gfstat_t; #endif #ifndef PATH_MAX @@ -156,7 +157,7 @@ fallback_access (const char *path, int mode) if (mode == F_OK) { - gfstat_t st; + struct stat st; return stat (path, &st); } @@ -924,7 +925,7 @@ open_internal4 (char *base, int length, gfc_offset offset) static stream * fd_to_stream (int fd) { - gfstat_t statbuf; + struct stat statbuf; unix_stream *s; s = get_mem (sizeof (unix_stream)); @@ -1405,7 +1406,7 @@ int compare_file_filename (gfc_unit *u, const char *name, int len) { char path[PATH_MAX + 1]; - gfstat_t st; + struct stat st; #ifdef HAVE_WORKING_STAT unix_stream *s; #else @@ -1446,7 +1447,7 @@ compare_file_filename (gfc_unit *u, const char *name, int len) #ifdef HAVE_WORKING_STAT -# define FIND_FILE0_DECL gfstat_t *st +# define FIND_FILE0_DECL struct stat *st # define FIND_FILE0_ARGS st #else # define FIND_FILE0_DECL uint64_t id, const char *file, gfc_charlen_type file_len @@ -1505,7 +1506,7 @@ gfc_unit * find_file (const char *file, gfc_charlen_type file_len) { char path[PATH_MAX + 1]; - gfstat_t st[1]; + struct stat st[1]; gfc_unit *u; #if defined(__MINGW32__) && !HAVE_WORKING_STAT uint64_t id = 0ULL; @@ -1656,7 +1657,7 @@ GFC_IO_INT file_size (const char *file, gfc_charlen_type file_len) { char path[PATH_MAX + 1]; - gfstat_t statbuf; + struct stat statbuf; if (unpack_filename (path, file, file_len)) return -1; @@ -1677,7 +1678,7 @@ const char * inquire_sequential (const char *string, int len) { char path[PATH_MAX + 1]; - gfstat_t statbuf; + struct stat statbuf; if (string == NULL || unpack_filename (path, string, len) || stat (path, &statbuf) < 0) @@ -1701,7 +1702,7 @@ const char * inquire_direct (const char *string, int len) { char path[PATH_MAX + 1]; - gfstat_t statbuf; + struct stat statbuf; if (string == NULL || unpack_filename (path, string, len) || stat (path, &statbuf) < 0) @@ -1725,7 +1726,7 @@ const char * inquire_formatted (const char *string, int len) { char path[PATH_MAX + 1]; - gfstat_t statbuf; + struct stat statbuf; if (string == NULL || unpack_filename (path, string, len) || stat (path, &statbuf) < 0) -- 2.30.2