diff src/diff.c @ 34540:9e093c96dff6 v9.1.0172

patch 9.1.0172: More code can use ml_get_buf_len() instead of STRLEN() Commit: https://github.com/vim/vim/commit/94b7c3233ef534acc669b3083ed1fe59cf3a090b Author: zeertzjq <zeertzjq@outlook.com> Date: Tue Mar 12 21:50:32 2024 +0100 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: #14183 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Tue, 12 Mar 2024 22:00:04 +0100
parents 7ccaadd7cf0b
children f41e8218775a
line wrap: on
line diff
--- a/src/diff.c
+++ b/src/diff.c
@@ -762,7 +762,7 @@ diff_write_buffer(buf_T *buf, diffin_T *
 
     // xdiff requires one big block of memory with all the text.
     for (lnum = 1; lnum <= buf->b_ml.ml_line_count; ++lnum)
-	len += (long)STRLEN(ml_get_buf(buf, lnum, FALSE)) + 1;
+	len += ml_get_buf_len(buf, lnum) + 1;
     ptr = alloc(len);
     if (ptr == NULL)
     {