view src/testdir/test77a.in @ 26960:043a15b37bf1 v8.2.4009

patch 8.2.4009: reading one byte beyond the end of the line Commit: https://github.com/vim/vim/commit/d3a117814d6acbf0dca3eff1a7626843b9b3734a Author: Bram Moolenaar <Bram@vim.org> Date: Wed Jan 5 16:50:40 2022 +0000 patch 8.2.4009: reading one byte beyond the end of the line Problem: Reading one byte beyond the end of the line. Solution: Check for NUL byte first.
author Bram Moolenaar <Bram@vim.org>
date Wed, 05 Jan 2022 18:00:05 +0100
parents e705ea6e855b
children
line wrap: on
line source

Inserts 2 million lines with consecutive integers starting from 1
(essentially, the output of GNU's seq 1 2000000), writes them to Xtest
and writes its cksum to test.out.

We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess
up the lines the checksum would differ.

cksum is part of POSIX and so should be available on most Unixes.
If it isn't available then the test will be skipped.

VMS does not have CKSUM but has a built in CHECKSUM - it should be used
STARTTEST
:silent! while 0
:  e! test.ok
:  w! test.out
:  qa!
:silent! endwhile
:if !has("vms")
: e! test.ok
: w! test.out
: qa!
:endif
:set fileformat=unix undolevels=-1
ggdG
:let i = 1
:while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhile
ggdd
:w! Xtest.
:r !@test77a.com Xtest.
:s/\s/ /g
:set fileformat&
:.w! test.out
:qa!
ENDTEST