Mercurial > vim
comparison src/indent.c @ 27821:c3b34e4bbe34 v8.2.4436
patch 8.2.4436: crash with weird 'vartabstop' value
Commit: https://github.com/vim/vim/commit/4e889f98e95ac05d7c8bd3ee933ab4d47820fdfa
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Feb 21 19:36:12 2022 +0000
patch 8.2.4436: crash with weird 'vartabstop' value
Problem: Crash with weird 'vartabstop' value.
Solution: Check for running into the end of the line.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 21 Feb 2022 20:45:03 +0100 |
parents | 567f4f964ccc |
children | b6f2f545f8cc |
comparison
equal
deleted
inserted
replaced
27820:ba1d4ad637c0 | 27821:c3b34e4bbe34 |
---|---|
1336 last_vcol = vcol; | 1336 last_vcol = vcol; |
1337 if (has_mbyte && new_cursor_col >= 0) | 1337 if (has_mbyte && new_cursor_col >= 0) |
1338 new_cursor_col += (*mb_ptr2len)(ptr + new_cursor_col); | 1338 new_cursor_col += (*mb_ptr2len)(ptr + new_cursor_col); |
1339 else | 1339 else |
1340 ++new_cursor_col; | 1340 ++new_cursor_col; |
1341 if (ptr[new_cursor_col] == NUL) | |
1342 break; | |
1341 vcol += lbr_chartabsize(ptr, ptr + new_cursor_col, (colnr_T)vcol); | 1343 vcol += lbr_chartabsize(ptr, ptr + new_cursor_col, (colnr_T)vcol); |
1342 } | 1344 } |
1343 vcol = last_vcol; | 1345 vcol = last_vcol; |
1344 | 1346 |
1345 // May need to insert spaces to be able to position the cursor on | 1347 // May need to insert spaces to be able to position the cursor on |