diff src/vim.h @ 9347:25c562442f8c v7.4.1955

commit https://github.com/vim/vim/commit/f4fba6dcd508cb369ffa6916d9cb3fcf3d7ed548 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jun 26 16:44:24 2016 +0200 patch 7.4.1955 Problem: Using 32-bit Perl with 64-bit time_t causes memory corruption. (Christian Brabandt) Solution: Use time_T instead of time_t for global variables. (Ken Takata)
author Christian Brabandt <cb@256bit.org>
date Sun, 26 Jun 2016 16:45:05 +0200
parents 78712a2f687a
children f094d4085014
line wrap: on
line diff
--- a/src/vim.h
+++ b/src/vim.h
@@ -1761,6 +1761,17 @@ typedef struct timeval proftime_T;
 typedef int proftime_T;	    /* dummy for function prototypes */
 #endif
 
+/*
+ * When compiling with 32 bit Perl time_t is 32 bits in the Perl code but 64
+ * bits elsewhere.  That causes memory corruption.  Define time_T and use it
+ * for global variables to avoid that.
+ */
+#ifdef WIN3264
+typedef __time64_t  time_T;
+#else
+typedef time_t	    time_T;
+#endif
+
 #ifdef _WIN64
 typedef __int64 sock_T;
 #else