diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-03-12 21:50:32 +0100 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2024-03-12 21:50:32 +0100 |
commit | 94b7c3233ef534acc669b3083ed1fe59cf3a090b (patch) | |
tree | b7d882e3b2cf90034e730023c01214b7b17294af /src/memline.c | |
parent | 5cac1a9bee0798d70a7fd80363a1f697759638e8 (diff) |
patch 9.1.0172: More code can use ml_get_buf_len() instead of STRLEN()v9.1.0172
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: #14183
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'src/memline.c')
-rw-r--r-- | src/memline.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/memline.c b/src/memline.c index 5228155262..a1c29cf0e7 100644 --- a/src/memline.c +++ b/src/memline.c @@ -2682,6 +2682,13 @@ ml_get_len(linenr_T lnum) return ml_get_buf_len(curbuf, lnum); } +// return length (excluding the NUL) of the text after position "pos" + colnr_T +ml_get_pos_len(pos_T *pos) +{ + return ml_get_buf_len(curbuf, curwin->w_cursor.lnum) - pos->col; +} + // return length (excluding the NUL) of the cursor line colnr_T ml_get_curline_len(void) @@ -3661,7 +3668,7 @@ ml_replace_len( curbuf->b_ml.ml_line_ptr = line; curbuf->b_ml.ml_line_len = len; - curbuf->b_ml.ml_line_textlen = len_arg + !has_props; + curbuf->b_ml.ml_line_textlen = !has_props ? len_arg + 1 : 0; curbuf->b_ml.ml_line_lnum = lnum; curbuf->b_ml.ml_flags = (curbuf->b_ml.ml_flags | ML_LINE_DIRTY) & ~ML_EMPTY; |