0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

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.
This commit is contained in:
Bram Moolenaar
2020-02-22 14:27:04 +01:00
parent c036e87bd7
commit f9706e9df0
12 changed files with 108 additions and 96 deletions

View File

@@ -328,16 +328,6 @@ typedef unsigned char char_u;
typedef unsigned short short_u;
typedef unsigned int int_u;
// Older systems do not have support for long long
// use a typedef instead of hard-coded long long
#ifdef HAVE_NO_LONG_LONG
typedef long long_long_T;
typedef long unsigned long_long_u_T;
#else
typedef long long long_long_T;
typedef long long unsigned long_long_u_T;
#endif
// Make sure long_u is big enough to hold a pointer.
// On Win64, longs are 32 bits and pointers are 64 bits.
// For printf() and scanf(), we need to take care of long_u specifically.
@@ -1975,31 +1965,32 @@ typedef int sock_T;
#define VV_ERRORS 67
#define VV_FALSE 68
#define VV_TRUE 69
#define VV_NULL 70
#define VV_NONE 71
#define VV_VIM_DID_ENTER 72
#define VV_TESTING 73
#define VV_TYPE_NUMBER 74
#define VV_TYPE_STRING 75
#define VV_TYPE_FUNC 76
#define VV_TYPE_LIST 77
#define VV_TYPE_DICT 78
#define VV_TYPE_FLOAT 79
#define VV_TYPE_BOOL 80
#define VV_TYPE_NONE 81
#define VV_TYPE_JOB 82
#define VV_TYPE_CHANNEL 83
#define VV_TYPE_BLOB 84
#define VV_TERMRFGRESP 85
#define VV_TERMRBGRESP 86
#define VV_TERMU7RESP 87
#define VV_TERMSTYLERESP 88
#define VV_TERMBLINKRESP 89
#define VV_EVENT 90
#define VV_VERSIONLONG 91
#define VV_ECHOSPACE 92
#define VV_ARGV 93
#define VV_LEN 94 // number of v: vars
#define VV_NONE 70
#define VV_NULL 71
#define VV_NUMBERSIZE 72
#define VV_VIM_DID_ENTER 73
#define VV_TESTING 74
#define VV_TYPE_NUMBER 75
#define VV_TYPE_STRING 76
#define VV_TYPE_FUNC 77
#define VV_TYPE_LIST 78
#define VV_TYPE_DICT 79
#define VV_TYPE_FLOAT 80
#define VV_TYPE_BOOL 81
#define VV_TYPE_NONE 82
#define VV_TYPE_JOB 83
#define VV_TYPE_CHANNEL 84
#define VV_TYPE_BLOB 85
#define VV_TERMRFGRESP 86
#define VV_TERMRBGRESP 87
#define VV_TERMU7RESP 88
#define VV_TERMSTYLERESP 89
#define VV_TERMBLINKRESP 90
#define VV_EVENT 91
#define VV_VERSIONLONG 92
#define VV_ECHOSPACE 93
#define VV_ARGV 94
#define VV_LEN 95 // number of v: vars
// used for v_number in VAR_BOOL and VAR_SPECIAL
#define VVAL_FALSE 0L // VAR_BOOL