summaryrefslogtreecommitdiff
path: root/compat/mingw.h
diff options
context:
space:
mode:
Diffstat (limited to 'compat/mingw.h')
-rw-r--r--compat/mingw.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/compat/mingw.h b/compat/mingw.h
index 92e9273..624b32d 100644
--- a/compat/mingw.h
+++ b/compat/mingw.h
@@ -59,8 +59,6 @@ struct itimerval {
};
#define ITIMER_REAL 0
-#define st_blocks st_size/512 /* will be cleaned up later */
-
/*
* trivial stubs
*/
@@ -161,12 +159,22 @@ int mingw_rename(const char*, const char*);
/* Use mingw_lstat() instead of lstat()/stat() and
* mingw_fstat() instead of fstat() on Windows.
+ * struct stat is redefined because it lacks the st_blocks member.
*/
-int mingw_lstat(const char *file_name, struct stat *buf);
-int mingw_fstat(int fd, struct stat *buf);
+struct mingw_stat {
+ unsigned st_mode;
+ time_t st_mtime, st_atime, st_ctime;
+ unsigned st_dev, st_ino, st_uid, st_gid;
+ size_t st_size;
+ size_t st_blocks;
+};
+int mingw_lstat(const char *file_name, struct mingw_stat *buf);
+int mingw_fstat(int fd, struct mingw_stat *buf);
#define fstat mingw_fstat
#define lstat mingw_lstat
-#define stat(x,y) mingw_lstat(x,y)
+#define stat mingw_stat
+static inline int mingw_stat(const char *file_name, struct mingw_stat *buf)
+{ return mingw_lstat(file_name, buf); }
int mingw_utime(const char *file_name, const struct utimbuf *times);
#define utime mingw_utime