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 #4011)
diff --git a/src/vim.h b/src/vim.h
index 0bc6ad3..fbae72d 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 @@
# 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 @@
* 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))