diff options
author | Tobias Burnus <burnus@net-b.de> | 2011-04-03 17:44:02 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2011-04-03 17:44:02 +0200 |
commit | 99ebea03824c55b060cd74001658c7b0d025a608 (patch) | |
tree | 296f4a2019453ece0963470031b4b63322a11ed9 | |
parent | 6733afe1b8300e011b4f3354b668aca2e5372a7b (diff) | |
download | gcc-99ebea03824c55b060cd74001658c7b0d025a608.zip gcc-99ebea03824c55b060cd74001658c7b0d025a608.tar.gz gcc-99ebea03824c55b060cd74001658c7b0d025a608.tar.bz2 |
unix.c: Adapt stat DEFINEs since MinGW64 supports LFS.
2011-04-04 Tobias Burnus <burnus@net-b.de>
* 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
-rw-r--r-- | libgfortran/ChangeLog | 7 | ||||
-rw-r--r-- | libgfortran/io/unix.c | 27 |
2 files changed, 21 insertions, 13 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 4557c7c..bae9d3c 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,10 @@ +2011-04-04 Tobias Burnus <burnus@net-b.de> + + * 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 <burnus@net-b.de> PR fortran/18918 diff --git a/libgfortran/io/unix.c b/libgfortran/io/unix.c index edccdd63..d14d2b4e 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 <windows.h> +#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) |