From 8a2df9371a8d2c15009b943d5ec020ebbfea0ec2 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 29 Jun 1998 17:20:52 +0000 Subject: [PATCH] (wordify): Fix i_byte even in unibyte case for copy loop. If input is unibyte, make the output unibyte. --- src/search.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/search.c b/src/search.c index d7068547434..29a6fe4ff4f 100644 --- a/src/search.c +++ b/src/search.c @@ -1983,8 +1983,12 @@ wordify (string) return build_string (""); adjust = - punct_count + 5 * (word_count - 1) + 4; - val = make_uninit_multibyte_string (len + adjust, - STRING_BYTES (XSTRING (string)) + adjust); + if (STRING_MULTIBYTE (string)) + val = make_uninit_multibyte_string (len + adjust, + STRING_BYTES (XSTRING (string)) + + adjust); + else + val = make_uninit_string (len + adjust); o = XSTRING (val)->data; *o++ = '\\'; @@ -1999,7 +2003,10 @@ wordify (string) if (STRING_MULTIBYTE (string)) FETCH_STRING_CHAR_ADVANCE (c, string, i, i_byte); else - c = XSTRING (string)->data[i++]; + { + c = XSTRING (string)->data[i++]; + i_byte++; + } if (SYNTAX (c) == Sword) { -- 2.39.5