#define SECS_BETWEEN_EPOCHS (__int64)11644473600
#define SECS_TO_100NS (__int64)10000000
-static inline time_t FileTimeToUnixTime(const FILETIME FileTime)
+static inline time_t FileTimeToUnixTime(const FILETIME *FileTime)
{
__int64 UnixTime;
long *nsec = NULL;
SYSTEMTIME SystemTime;
- FileTimeToSystemTime(&FileTime, &SystemTime);
+ FileTimeToSystemTime(FileTime, &SystemTime);
- UnixTime = ((__int64)FileTime.dwHighDateTime << 32) +
- FileTime.dwLowDateTime;
+ UnixTime = ((__int64)FileTime->dwHighDateTime << 32) +
+ FileTime->dwLowDateTime;
UnixTime -= (SECS_BETWEEN_EPOCHS * SECS_TO_100NS);
t = t << 32;
t |= data.nFileSizeLow;
buf->st_size = t;
- buf->st_atime = FileTimeToUnixTime(data.ftLastAccessTime);
- buf->st_ctime = FileTimeToUnixTime(data.ftCreationTime);
- buf->st_mtime = FileTimeToUnixTime(data.ftLastWriteTime);
+ buf->st_atime = FileTimeToUnixTime(&data.ftLastAccessTime);
+ buf->st_ctime = FileTimeToUnixTime(&data.ftCreationTime);
+ buf->st_mtime = FileTimeToUnixTime(&data.ftLastWriteTime);
return 0;
}
/* }}} */