From 76826c24dfcd89503ba92119089f96e7feeaa098 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Sun, 15 Feb 2026 14:48:54 +0000 Subject: [PATCH] patch 9.2.0002: str2specialbuf() can be improved Problem: str2specialbuf() can be improved Solution: Optimize str2specialbuf function in message.c (Yasuhiro Matsumoto) closes: #19415 Signed-off-by: Yasuhiro Matsumoto Signed-off-by: Christian Brabandt --- src/message.c | 16 ++++++++++++---- src/version.c | 2 ++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/message.c b/src/message.c index e2058f8d4d..192442ab4e 100644 --- a/src/message.c +++ b/src/message.c @@ -2012,14 +2012,22 @@ str2special( void str2specialbuf(char_u *sp, char_u *buf, int len) { - char_u *s; + char_u *s; + size_t buf_len = 0; + size_t s_len; *buf = NUL; while (*sp) { - s = str2special(&sp, FALSE, FALSE); - if ((int)(STRLEN(s) + STRLEN(buf)) < len) - STRCAT(buf, s); + s = str2special(&sp, FALSE, FALSE); + s_len = STRLEN(s); + if (buf_len + s_len < (size_t)len) + { + STRCPY(buf + buf_len, s); + buf_len += s_len; + } + else + break; } } diff --git a/src/version.c b/src/version.c index 8dd6db06c7..0b6275096c 100644 --- a/src/version.c +++ b/src/version.c @@ -734,6 +734,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2, /**/ 1, /**/