From 85844ee6ef5f30bccc9cfee4a4aa332c051832ed Mon Sep 17 00:00:00 2001 From: Benno Schulenberg <bensberg@justemail.net> Date: Sat, 6 Aug 2016 10:47:22 +0200 Subject: [PATCH] chars: remove superfluous afterchecks Now that mbstrncasecmp() does the right thing, there is no need any more to verify that only a valid multibyte sequence was matched. (See https://savannah.gnu.org/bugs/?45579 for a test case.) Also, this will make it possible to search for invalid sequences. (Currently it isn't possible to enter a search string with invalid characters, but... a user might edit the search history file. And if pasting at the prompt is implemented, it will be trivial to enter invalid sequences if you have a file that contains them.) --- src/chars.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/chars.c b/src/chars.c index 2745ef33..8eed0e54 100644 --- a/src/chars.c +++ b/src/chars.c @@ -594,8 +594,7 @@ char *mbstrcasestr(const char *haystack, const char *needle) for (; *haystack != '\0' && haystack_len >= needle_len; haystack += move_mbright(haystack, 0), haystack_len--) { - if (mbstrncasecmp(haystack, needle, needle_len) == 0 && - mblen(haystack, MB_CUR_MAX) > 0) + if (mbstrncasecmp(haystack, needle, needle_len) == 0) return (char *)haystack; } @@ -687,8 +686,7 @@ char *mbrevstrcasestr(const char *haystack, const char *needle, const while (TRUE) { if (rev_start_len >= needle_len && - mbstrncasecmp(rev_start, needle, needle_len) == 0 && - mblen(rev_start, MB_CUR_MAX) > 0) + mbstrncasecmp(rev_start, needle, needle_len) == 0) return (char *)rev_start; /* If we've reached the head of the haystack, we found nothing. */ -- GitLab