summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-02-19 21:24:54 +0100
committerBram Moolenaar <Bram@vim.org>2019-02-19 21:24:54 +0100
commitc9629251a634d4f5988c8162ba8249026d1af687 (patch)
treee430508ca7cb3c771a50a610c618a58b1032db75
parentbbd854dc57e82937eb7b95af220a2f137ded64f8 (diff)
downloadvim-git-c9629251a634d4f5988c8162ba8249026d1af687.tar.gz
patch 8.1.0953: a very long file is truncated at 2^31 linesv8.1.0953
Problem: A very long file is truncated at 2^31 lines. Solution: Use LONG_MAX for MAXLNUM. (Dominique Pelle, closes #4011)
-rw-r--r--src/version.c2
-rw-r--r--src/vim.h20
2 files changed, 12 insertions, 10 deletions
diff --git a/src/version.c b/src/version.c
index 16ab49391..a266ce08f 100644
--- 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,
diff --git a/src/vim.h b/src/vim.h
index 0bc6ad3ee..fbae72d8d 100644
--- 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 32 bits or more
# 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; /* display tick type */
* 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))