aboutsummaryrefslogtreecommitdiff
path: root/jimiocompat.h
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2023-06-17 00:52:12 +1000
committerSteve Bennett <steveb@workware.net.au>2023-06-20 12:46:21 +1000
commit9e78cc8a97b7ecf6afbbe9a35305daf3459cead6 (patch)
tree64af616586f7ab30e7652fad72a846392220eede /jimiocompat.h
parent5246daeb5d517ef4d68834537862e928961f6a41 (diff)
downloadjimtcl-9e78cc8a97b7ecf6afbbe9a35305daf3459cead6.zip
jimtcl-9e78cc8a97b7ecf6afbbe9a35305daf3459cead6.tar.gz
jimtcl-9e78cc8a97b7ecf6afbbe9a35305daf3459cead6.tar.bz2
file: use 64 bit stat functions if necessary
Some 32 bit systems may require explicit use of stat64, etc. Fixes #263
Diffstat (limited to 'jimiocompat.h')
-rw-r--r--jimiocompat.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/jimiocompat.h b/jimiocompat.h
index 1f0507e..64aa4ff 100644
--- a/jimiocompat.h
+++ b/jimiocompat.h
@@ -70,9 +70,25 @@ int Jim_OpenForRead(const char *filename);
#define Jim_FileStat _fstat64
#else
- typedef struct stat jim_stat_t;
- #define Jim_Stat stat
- #define Jim_FileStat fstat
+ #if defined(HAVE_STAT64)
+ typedef struct stat64 jim_stat_t;
+ #define Jim_Stat stat64
+ #if defined(HAVE_FSTAT64)
+ #define Jim_FileStat fstat64
+ #endif
+ #if defined(HAVE_LSTAT64)
+ #define Jim_LinkStat lstat64
+ #endif
+ #else
+ typedef struct stat jim_stat_t;
+ #define Jim_Stat stat
+ #if defined(HAVE_FSTAT)
+ #define Jim_FileStat fstat
+ #endif
+ #if defined(HAVE_LSTAT)
+ #define Jim_LinkStat lstat
+ #endif
+ #endif
#if defined(HAVE_UNISTD_H)
#include <unistd.h>