tweaks: calculate the length of a completion word in a more direct way

master
Benno Schulenberg 2019-01-02 17:44:15 +01:00
parent eef6b2b442
commit ffa0a9ef64
1 changed files with 4 additions and 7 deletions

View File

@ -3041,20 +3041,17 @@ void do_verbatim_input(void)
} }
#ifdef ENABLE_WORDCOMPLETION #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 *copy_completion(char *check_line, int start)
{ {
char *word; char *word;
size_t position = start, len_of_word = 0, index = 0; size_t position = start, len_of_word = 0, index = 0;
/* Find the length of the word by travelling to its end. */ /* Find the length of the word by travelling to its end. */
while (is_word_mbchar(&check_line[position], FALSE)) { while (is_word_mbchar(&check_line[position], FALSE))
size_t next = move_mbright(check_line, position); position = move_mbright(check_line, position);
len_of_word += next - position;
position = next;
}
len_of_word = position - start;
word = charalloc(len_of_word + 1); word = charalloc(len_of_word + 1);
/* Simply copy the word. */ /* Simply copy the word. */