From 8e38555ece7d3fe1edc6681ec70fe5586a524862 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 12 Feb 2022 21:16:21 +0000 Subject: [PATCH] patch 8.2.4363: MS-Windows: running out of memory for a very long line Problem: MS-Windows: running out of memory for a very long line. Solution: Use a 32 bit value for MAXCOL also when ints are 64 bits. --- src/version.c | 2 ++ src/vim.h | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/version.c b/src/version.c index 1fc176779..18f7892f1 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 4363, /**/ 4362, /**/ diff --git a/src/vim.h b/src/vim.h index 3fea0d968..09303e98c 100644 --- a/src/vim.h +++ b/src/vim.h @@ -1739,7 +1739,9 @@ typedef unsigned short disptick_T; // display tick type # define MAXCOL (0x3fffffffL) // maximum column number, 30 bits # define MAXLNUM (0x3fffffffL) // maximum (invalid) line number #else -# define MAXCOL INT_MAX // maximum column number + // MAXCOL used to be INT_MAX, but with 64 bit ints that results in running + // out of memory when trying to allocate a very long line. +# define MAXCOL 0x7fffffffL // maximum column number # define MAXLNUM LONG_MAX // maximum (invalid) line number #endif