summaryrefslogtreecommitdiff
path: root/deps/uv/src/win/fs.c
diff options
context:
space:
mode:
authorisaacs <i@izs.me>2012-06-22 07:44:40 -0700
committerisaacs <i@izs.me>2012-06-22 07:44:40 -0700
commit5565366a33e57436be08b00c14470ecafdf16632 (patch)
treeb6738c92c90ec38062ceb4e9a46ee20bd0485770 /deps/uv/src/win/fs.c
parenta1b274108fc7eb961c71eef3b61e5b332a9e187d (diff)
downloadnode-new-5565366a33e57436be08b00c14470ecafdf16632.tar.gz
uv: Upgrade to 171e2f71b9
Diffstat (limited to 'deps/uv/src/win/fs.c')
-rw-r--r--deps/uv/src/win/fs.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/deps/uv/src/win/fs.c b/deps/uv/src/win/fs.c
index e2a328d8ad..e81299bcff 100644
--- a/deps/uv/src/win/fs.c
+++ b/deps/uv/src/win/fs.c
@@ -91,6 +91,9 @@
return; \
}
+#define FILETIME_TO_TIME_T(filetime) \
+ ((*((uint64_t*) &(filetime)) - 116444736000000000ULL) / 10000000ULL);
+
#define IS_SLASH(c) ((c) == L'\\' || (c) == L'/')
#define IS_LETTER(c) (((c) >= L'a' && (c) <= L'z') || \
((c) >= L'A' && (c) <= L'Z'))
@@ -630,9 +633,9 @@ static void fs__stat(uv_fs_t* req, const wchar_t* path, int link) {
(int64_t) info.nFileSizeLow;
}
- uv_filetime_to_time_t(&info.ftLastWriteTime, &(req->stat.st_mtime));
- uv_filetime_to_time_t(&info.ftLastAccessTime, &(req->stat.st_atime));
- uv_filetime_to_time_t(&info.ftCreationTime, &(req->stat.st_ctime));
+ req->stat.st_mtime = FILETIME_TO_TIME_T(info.ftLastWriteTime);
+ req->stat.st_atime = FILETIME_TO_TIME_T(info.ftLastAccessTime);
+ req->stat.st_ctime = FILETIME_TO_TIME_T(info.ftCreationTime);
req->stat.st_nlink = (info.nNumberOfLinks <= SHRT_MAX) ?
(short) info.nNumberOfLinks : SHRT_MAX;