sequences anymore, for consistency
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2894
35c25a1d-7b9e-4130-9fde-
d3aeb78583b8
- Make sure that the current position in the history list is
properly set to the bottom if we cancel out of the prompt.
New function history_reset(); changes to nanogetstr(). (DLR)
+- chars.c:
+ mbstrchr()
+ - Don't count matches between valid and invalid multibyte
+ sequences anymore, for consistency. (DLR)
- files.c:
open_file()
- Assert that filename isn't NULL, and don't do anything special
#ifdef ENABLE_UTF8
if (ISSET(USE_UTF8)) {
+ bool bad_c_mb = FALSE, bad_s_mb = FALSE;
char *s_mb = charalloc(MB_CUR_MAX);
const char *q = s;
wchar_t ws, wc;
if (c_mb_len <= 0) {
mbtowc(NULL, NULL, 0);
wc = (unsigned char)*c;
+ bad_c_mb = TRUE;
}
while (*s != '\0') {
if (mbtowc(&ws, s_mb, s_mb_len) <= 0) {
mbtowc(NULL, NULL, 0);
ws = (unsigned char)*s;
+ bad_s_mb = TRUE;
}
- if (ws == wc)
+ if (bad_s_mb == bad_c_mb && ws == wc)
break;
s += s_mb_len;