updated for version 7.4.044
Problem:    Can't build with old MSVC. (Wang Shoulin)
Solution:   Define OPEN_OH_ARGTYPE instead of using intptr_t directly.
diff --git a/src/os_mswin.c b/src/os_mswin.c
index 8b507f6..95c3d17 100644
--- a/src/os_mswin.c
+++ b/src/os_mswin.c
@@ -498,6 +498,12 @@
     }
 }
 
+#if (_MSC_VER >= 1300)
+# define OPEN_OH_ARGTYPE intptr_t
+#else
+# define OPEN_OH_ARGTYPE long
+#endif
+
     static int
 stat_symlink_aware(const char *name, struct stat *stp)
 {
@@ -533,7 +539,7 @@
 	{
 	    int	    fd, n;
 
-	    fd = _open_osfhandle((intptr_t)h, _O_RDONLY);
+	    fd = _open_osfhandle((OPEN_OH_ARGTYPE)h, _O_RDONLY);
 	    n = _fstat(fd, (struct _stat*)stp);
 	    _close(fd);
 	    return n;
@@ -580,7 +586,7 @@
 	{
 	    int	    fd;
 
-	    fd = _open_osfhandle((intptr_t)h, _O_RDONLY);
+	    fd = _open_osfhandle((OPEN_OH_ARGTYPE)h, _O_RDONLY);
 	    n = _fstat(fd, stp);
 	    _close(fd);
 	    return n;