changeset 15894:46adcb6e27d7 v8.1.0953

patch 8.1.0953: a very long file is truncated at 2^31 lines commit https://github.com/vim/vim/commit/c9629251a634d4f5988c8162ba8249026d1af687 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Feb 19 21:24:54 2019 +0100 patch 8.1.0953: a very long file is truncated at 2^31 lines Problem: A very long file is truncated at 2^31 lines. Solution: Use LONG_MAX for MAXLNUM. (Dominique Pelle, closes https://github.com/vim/vim/issues/4011)
author Bram Moolenaar <Bram@vim.org>
date Tue, 19 Feb 2019 21:30:08 +0100
parents 6786356b229c
children 45465e1e0705
files src/version.c src/vim.h
diffstat 2 files changed, 12 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/src/version.c
+++ b/src/version.c
@@ -780,6 +780,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    953,
+/**/
     952,
 /**/
     951,
--- a/src/vim.h
+++ b/src/vim.h
@@ -54,6 +54,9 @@
     Error: configure did not run properly.  Check auto/config.log.
 # endif
 
+// for INT_MAX, LONG_MAX et al.
+#include <limits.h>
+
 /*
  * Cygwin may have fchdir() in a newer release, but in most versions it
  * doesn't work well and avoiding it keeps the binary backward compatible.
@@ -455,9 +458,6 @@ typedef unsigned int u8char_T;	// int is
 # include <errno.h>
 #endif
 
-/* for INT_MAX et al. */
-#include <limits.h>
-
 /*
  * Allow other (non-unix) systems to configure themselves now
  * These are also in os_unix.h, because osdef.sh needs them there.
@@ -1666,17 +1666,17 @@ typedef unsigned short disptick_T;	/* di
  * not a real problem. BTW:  Longer lines are split.
  */
 #ifdef __MVS__
-# define MAXCOL (0x3fffffffL)		/* maximum column number, 30 bits */
-# define MAXLNUM (0x3fffffffL)		/* maximum (invalid) line number */
+# define MAXCOL (0x3fffffffL)		// maximum column number, 30 bits
+# define MAXLNUM (0x3fffffffL)		// maximum (invalid) line number
 #else
-# define MAXCOL (0x7fffffffL)		/* maximum column number, 31 bits */
-# define MAXLNUM (0x7fffffffL)		/* maximum (invalid) line number */
+# define MAXCOL  INT_MAX		// maximum column number
+# define MAXLNUM LONG_MAX		// maximum (invalid) line number
 #endif
 
-#define SHOWCMD_COLS 10			/* columns needed by shown command */
-#define STL_MAX_ITEM 80			/* max nr of %<flag> in statusline */
+#define SHOWCMD_COLS 10			// columns needed by shown command
+#define STL_MAX_ITEM 80			// max nr of %<flag> in statusline
 
-typedef void	    *vim_acl_T;		/* dummy to pass an ACL to a function */
+typedef void	    *vim_acl_T;		// dummy to pass an ACL to a function
 
 #ifndef mch_memmove
 # define mch_memmove(to, from, len) memmove((char*)(to), (char*)(from), (size_t)(len))