diff --git a/src/text.c b/src/text.c index d3a0e1d597e3f701f058c4d47431cb5b4c143405..ecc9d635750bb0b7e2e355eba7f71e7aaf294e8a 100644 --- a/src/text.c +++ b/src/text.c @@ -3041,20 +3041,17 @@ void do_verbatim_input(void) } #ifdef ENABLE_WORDCOMPLETION -/* Copy the found completion candidate. */ +/* Return a copy of the found completion candidate. */ char *copy_completion(char *check_line, int start) { char *word; size_t position = start, len_of_word = 0, index = 0; /* Find the length of the word by travelling to its end. */ - while (is_word_mbchar(&check_line[position], FALSE)) { - size_t next = move_mbright(check_line, position); - - len_of_word += next - position; - position = next; - } + while (is_word_mbchar(&check_line[position], FALSE)) + position = move_mbright(check_line, position); + len_of_word = position - start; word = charalloc(len_of_word + 1); /* Simply copy the word. */