summaryrefslogtreecommitdiffstats
path: root/generic/tcl.h
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2012-03-15 21:14:05 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2012-03-15 21:14:05 (GMT)
commit859cb34d2ddbdd2548004b0e044f759ed55e5ebe (patch)
tree208a77acdb455c105e739d589128c3dd644af53e /generic/tcl.h
parent2bdb719524ba2e7826cfdf6a82bd80c2bcdd9c75 (diff)
parent5841a02367f05ffbefe36849606d77718a556cb2 (diff)
downloadtcl-859cb34d2ddbdd2548004b0e044f759ed55e5ebe.zip
tcl-859cb34d2ddbdd2548004b0e044f759ed55e5ebe.tar.gz
tcl-859cb34d2ddbdd2548004b0e044f759ed55e5ebe.tar.bz2
[Bug 3288345] Wrong Tcl_StatBuf used on Cygwin
Diffstat (limited to 'generic/tcl.h')
-rw-r--r--generic/tcl.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/generic/tcl.h b/generic/tcl.h
index 9fbe378..cb90096 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -373,7 +373,7 @@ typedef long LONG;
*/
#if !defined(TCL_WIDE_INT_TYPE)&&!defined(TCL_WIDE_INT_IS_LONG)
-# if defined(__WIN32__) && !defined(__CYGWIN__)
+# if defined(__WIN32__)
# define TCL_WIDE_INT_TYPE __int64
# ifdef __BORLANDC__
typedef struct stati64 Tcl_StatBuf;
@@ -436,7 +436,21 @@ typedef struct stat Tcl_StatBuf;
* or some other strange platform.
*/
# ifndef TCL_LL_MODIFIER
-# ifdef HAVE_STRUCT_STAT64
+# ifdef __CYGWIN__
+typedef struct _stat32i64 {
+ dev_t st_dev;
+ ino_t st_ino;
+ unsigned short st_mode;
+ short st_nlink;
+ short st_uid;
+ short st_gid;
+ dev_t st_rdev;
+ long long st_size;
+ struct {long tv_sec;} st_atim;
+ struct {long tv_sec;} st_mtim;
+ struct {long tv_sec;} st_ctim;
+} Tcl_StatBuf;
+# elif defined(HAVE_STRUCT_STAT64)
typedef struct stat64 Tcl_StatBuf;
# else
typedef struct stat Tcl_StatBuf;