Finding only valid UTF-8 byte sequences when searching.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5316 35c25a1d-7b9e-4130-9fde-d3aeb78583b8master
parent
f47813eefa
commit
b967368d41
|
@ -2,6 +2,8 @@
|
||||||
* doc/man/{nano.1,nanorc.5}, doc/texinfo/nano.texi: Add deprecation
|
* doc/man/{nano.1,nanorc.5}, doc/texinfo/nano.texi: Add deprecation
|
||||||
notices for the options 'set const', 'set poslog' and '--poslog'.
|
notices for the options 'set const', 'set poslog' and '--poslog'.
|
||||||
Suggested by Eitan Adler.
|
Suggested by Eitan Adler.
|
||||||
|
* src/chars.c (mbstrcasestr, mbrevstrcasestr): When searching, find
|
||||||
|
only valid UTF-8 byte sequences. This fixes Savannah bug #45579.
|
||||||
|
|
||||||
2015-07-22 Mike Frysinger <vapier@gentoo.org>
|
2015-07-22 Mike Frysinger <vapier@gentoo.org>
|
||||||
* src/files.c (check_dotnano), src/global.c (thanks_for_all_the_fish),
|
* src/files.c (check_dotnano), src/global.c (thanks_for_all_the_fish),
|
||||||
|
|
|
@ -636,7 +636,8 @@ char *mbstrcasestr(const char *haystack, const char *needle)
|
||||||
|
|
||||||
for (; *haystack != '\0' && haystack_len >= needle_len;
|
for (; *haystack != '\0' && haystack_len >= needle_len;
|
||||||
haystack += move_mbright(haystack, 0), haystack_len--) {
|
haystack += move_mbright(haystack, 0), haystack_len--) {
|
||||||
if (mbstrncasecmp(haystack, needle, needle_len) == 0)
|
if (mbstrncasecmp(haystack, needle, needle_len) == 0 &&
|
||||||
|
mblen(haystack, MB_CUR_MAX) > 0)
|
||||||
return (char *)haystack;
|
return (char *)haystack;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -729,8 +730,9 @@ char *mbrevstrcasestr(const char *haystack, const char *needle, const
|
||||||
rev_start_len = mbstrlen(rev_start);
|
rev_start_len = mbstrlen(rev_start);
|
||||||
|
|
||||||
while (!begin_line) {
|
while (!begin_line) {
|
||||||
if (rev_start_len >= needle_len && mbstrncasecmp(rev_start,
|
if (rev_start_len >= needle_len &&
|
||||||
needle, needle_len) == 0)
|
mbstrncasecmp(rev_start, needle, needle_len) == 0 &&
|
||||||
|
mblen(rev_start, MB_CUR_MAX) > 0)
|
||||||
return (char *)rev_start;
|
return (char *)rev_start;
|
||||||
|
|
||||||
if (rev_start == haystack)
|
if (rev_start == haystack)
|
||||||
|
|
Loading…
Reference in New Issue