mirror of
https://github.com/neovim/neovim.git
synced 2025-09-29 14:38:32 +00:00
vim-patch:9.1.0172: More code can use ml_get_buf_len() instead of STRLEN()
Problem: More code can use ml_get_buf_len() instead of STRLEN().
Solution: Change more STRLEN() calls to ml_get_buf_len(). Also do not
set ml_line_textlen in ml_replace_len() if "has_props" is set,
because "len_arg" also includes the size of text properties in
that case. (zeertzjq)
closes: vim/vim#14183
94b7c3233e
This commit is contained in:
@@ -1017,8 +1017,7 @@ void foldAdjustVisual(void)
|
||||
return;
|
||||
}
|
||||
|
||||
char *ptr = ml_get(end->lnum);
|
||||
end->col = (colnr_T)strlen(ptr);
|
||||
end->col = ml_get_len(end->lnum);
|
||||
if (end->col > 0 && *p_sel == 'o') {
|
||||
end->col--;
|
||||
}
|
||||
@@ -1605,7 +1604,7 @@ static void foldAddMarker(buf_T *buf, pos_T pos, const char *marker, size_t mark
|
||||
|
||||
// Allocate a new line: old-line + 'cms'-start + marker + 'cms'-end
|
||||
char *line = ml_get_buf(buf, lnum);
|
||||
size_t line_len = strlen(line);
|
||||
size_t line_len = (size_t)ml_get_buf_len(buf, lnum);
|
||||
size_t added = 0;
|
||||
|
||||
if (u_save(lnum - 1, lnum + 1) != OK) {
|
||||
@@ -1686,7 +1685,7 @@ static void foldDelMarker(buf_T *buf, linenr_T lnum, char *marker, size_t marker
|
||||
}
|
||||
if (u_save(lnum - 1, lnum + 1) == OK) {
|
||||
// Make new line: text-before-marker + text-after-marker
|
||||
char *newline = xmalloc(strlen(line) - len + 1);
|
||||
char *newline = xmalloc((size_t)ml_get_buf_len(buf, lnum) - len + 1);
|
||||
assert(p >= line);
|
||||
memcpy(newline, line, (size_t)(p - line));
|
||||
STRCPY(newline + (p - line), p + len);
|
||||
|
Reference in New Issue
Block a user