From: Yasuhiro Matsumoto Date: Sun, 15 Feb 2026 14:48:54 +0000 (+0000) Subject: patch 9.2.0002: str2specialbuf() can be improved X-Git-Tag: v9.2.0002^0 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=76826c24dfcd89503ba92119089f96e7feeaa098;p=thirdparty%2Fvim.git 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 --- 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, /**/