diff options
author | Johannes Sixt <johannes.sixt@telecom.at> | 2007-11-12 12:52:41 +0100 |
---|---|---|
committer | Johannes Sixt <johannes.sixt@telecom.at> | 2008-06-26 08:45:11 +0200 |
commit | fc2ded5b08e071beed974117c0148781b1acc94a (patch) | |
tree | 2aa9f32e7a58fb1e0f1fb701f69c9454a0a9b7b8 /compat/mingw.h | |
parent | 7c0ffa1cb753f9b909dfb3bc7a5d5417b8de39c2 (diff) | |
download | git-fc2ded5b08e071beed974117c0148781b1acc94a.tar.gz git-fc2ded5b08e071beed974117c0148781b1acc94a.tar.xz |
Windows: Use a customized struct stat that also has the st_blocks member.
Windows's struct stat does not have a st_blocks member. Since we already
have our own stat/lstat/fstat implementations, we can just as well use
a customized struct stat. This patch introduces just that, and also fills
in the st_blocks member. On the other hand, we don't provide members that
are never used.
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Diffstat (limited to 'compat/mingw.h')
-rw-r--r-- | compat/mingw.h | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/compat/mingw.h b/compat/mingw.h index 92e9273dd..624b32d1f 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 |