*** ../bash-2.05b/lib/readline/mbutil.c Tue Jun 4 11:54:29 2002 --- lib/readline/mbutil.c Mon Aug 5 11:20:39 2002 *************** *** 206,210 **** { /* shorted to compose multibyte char */ ! memset (ps, 0, sizeof(mbstate_t)); return -2; } --- 206,211 ---- { /* shorted to compose multibyte char */ ! if (ps) ! memset (ps, 0, sizeof(mbstate_t)); return -2; } *************** *** 213,217 **** /* invalid to compose multibyte char */ /* initialize the conversion state */ ! memset (ps, 0, sizeof(mbstate_t)); return -1; } --- 214,219 ---- /* invalid to compose multibyte char */ /* initialize the conversion state */ ! if (ps) ! memset (ps, 0, sizeof(mbstate_t)); return -1; } *************** *** 226,232 **** int _rl_compare_chars (buf1, pos1, ps1, buf2, pos2, ps2) ! char *buf1, *buf2; ! mbstate_t *ps1, *ps2; ! int pos1, pos2; { int i, w1, w2; --- 228,237 ---- int _rl_compare_chars (buf1, pos1, ps1, buf2, pos2, ps2) ! char *buf1; ! int pos1; ! mbstate_t *ps1; ! char *buf2; ! int pos2; ! mbstate_t *ps2; { int i, w1, w2; *************** *** 277,282 **** /* clear the state of the byte sequence, because in this case effect of mbstate is undefined */ ! memset (ps, 0, sizeof (mbstate_t)); } else pos += tmp; --- 282,290 ---- /* clear the state of the byte sequence, because in this case effect of mbstate is undefined */ ! if (ps) ! memset (ps, 0, sizeof (mbstate_t)); } + else if (tmp == 0) + pos++; else pos += tmp;