Mercurial > vim
comparison src/vim.h @ 19477:2bb0e80fcd32 v8.2.0296
patch 8.2.0296: mixing up "long long" and __int64 may cause problems
Commit: https://github.com/vim/vim/commit/f9706e9df0e37d214fb08eda30ba29627e97a607
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Feb 22 14:27:04 2020 +0100
patch 8.2.0296: mixing up "long long" and __int64 may cause problems
Problem: Mixing up "long long" and __int64 may cause problems. (John
Marriott)
Solution: Pass varnumber_T to vim_snprintf(). Add v:numbersize.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 22 Feb 2020 14:30:04 +0100 |
parents | 1e78bf92f168 |
children | 22f0dda71638 |
comparison
equal
deleted
inserted
replaced
19476:381e5000c519 | 19477:2bb0e80fcd32 |
---|---|
325 * already defined, so we use char_u to avoid trouble. | 325 * already defined, so we use char_u to avoid trouble. |
326 */ | 326 */ |
327 typedef unsigned char char_u; | 327 typedef unsigned char char_u; |
328 typedef unsigned short short_u; | 328 typedef unsigned short short_u; |
329 typedef unsigned int int_u; | 329 typedef unsigned int int_u; |
330 | |
331 // Older systems do not have support for long long | |
332 // use a typedef instead of hard-coded long long | |
333 #ifdef HAVE_NO_LONG_LONG | |
334 typedef long long_long_T; | |
335 typedef long unsigned long_long_u_T; | |
336 #else | |
337 typedef long long long_long_T; | |
338 typedef long long unsigned long_long_u_T; | |
339 #endif | |
340 | 330 |
341 // Make sure long_u is big enough to hold a pointer. | 331 // Make sure long_u is big enough to hold a pointer. |
342 // On Win64, longs are 32 bits and pointers are 64 bits. | 332 // On Win64, longs are 32 bits and pointers are 64 bits. |
343 // For printf() and scanf(), we need to take care of long_u specifically. | 333 // For printf() and scanf(), we need to take care of long_u specifically. |
344 #ifdef _WIN64 | 334 #ifdef _WIN64 |
1973 #define VV_OPTION_COMMAND 65 | 1963 #define VV_OPTION_COMMAND 65 |
1974 #define VV_OPTION_TYPE 66 | 1964 #define VV_OPTION_TYPE 66 |
1975 #define VV_ERRORS 67 | 1965 #define VV_ERRORS 67 |
1976 #define VV_FALSE 68 | 1966 #define VV_FALSE 68 |
1977 #define VV_TRUE 69 | 1967 #define VV_TRUE 69 |
1978 #define VV_NULL 70 | 1968 #define VV_NONE 70 |
1979 #define VV_NONE 71 | 1969 #define VV_NULL 71 |
1980 #define VV_VIM_DID_ENTER 72 | 1970 #define VV_NUMBERSIZE 72 |
1981 #define VV_TESTING 73 | 1971 #define VV_VIM_DID_ENTER 73 |
1982 #define VV_TYPE_NUMBER 74 | 1972 #define VV_TESTING 74 |
1983 #define VV_TYPE_STRING 75 | 1973 #define VV_TYPE_NUMBER 75 |
1984 #define VV_TYPE_FUNC 76 | 1974 #define VV_TYPE_STRING 76 |
1985 #define VV_TYPE_LIST 77 | 1975 #define VV_TYPE_FUNC 77 |
1986 #define VV_TYPE_DICT 78 | 1976 #define VV_TYPE_LIST 78 |
1987 #define VV_TYPE_FLOAT 79 | 1977 #define VV_TYPE_DICT 79 |
1988 #define VV_TYPE_BOOL 80 | 1978 #define VV_TYPE_FLOAT 80 |
1989 #define VV_TYPE_NONE 81 | 1979 #define VV_TYPE_BOOL 81 |
1990 #define VV_TYPE_JOB 82 | 1980 #define VV_TYPE_NONE 82 |
1991 #define VV_TYPE_CHANNEL 83 | 1981 #define VV_TYPE_JOB 83 |
1992 #define VV_TYPE_BLOB 84 | 1982 #define VV_TYPE_CHANNEL 84 |
1993 #define VV_TERMRFGRESP 85 | 1983 #define VV_TYPE_BLOB 85 |
1994 #define VV_TERMRBGRESP 86 | 1984 #define VV_TERMRFGRESP 86 |
1995 #define VV_TERMU7RESP 87 | 1985 #define VV_TERMRBGRESP 87 |
1996 #define VV_TERMSTYLERESP 88 | 1986 #define VV_TERMU7RESP 88 |
1997 #define VV_TERMBLINKRESP 89 | 1987 #define VV_TERMSTYLERESP 89 |
1998 #define VV_EVENT 90 | 1988 #define VV_TERMBLINKRESP 90 |
1999 #define VV_VERSIONLONG 91 | 1989 #define VV_EVENT 91 |
2000 #define VV_ECHOSPACE 92 | 1990 #define VV_VERSIONLONG 92 |
2001 #define VV_ARGV 93 | 1991 #define VV_ECHOSPACE 93 |
2002 #define VV_LEN 94 // number of v: vars | 1992 #define VV_ARGV 94 |
1993 #define VV_LEN 95 // number of v: vars | |
2003 | 1994 |
2004 // used for v_number in VAR_BOOL and VAR_SPECIAL | 1995 // used for v_number in VAR_BOOL and VAR_SPECIAL |
2005 #define VVAL_FALSE 0L // VAR_BOOL | 1996 #define VVAL_FALSE 0L // VAR_BOOL |
2006 #define VVAL_TRUE 1L // VAR_BOOL | 1997 #define VVAL_TRUE 1L // VAR_BOOL |
2007 #define VVAL_NONE 2L // VAR_SPECIAL | 1998 #define VVAL_NONE 2L // VAR_SPECIAL |