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