Mercurial > vim
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