aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>2004-10-18 07:10:33 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>2004-10-18 07:10:33 +0000
commit6af9ea3853f51199706411995f3df6dd405f894b (patch)
tree2d21ab334e0c6cea3f19e86785adaa8232258828 /contrib
parentd1447d3869eb60ad63f309539ff818bc0909e653 (diff)
parente5ce20496d1a1c93eeac0079c7a3785dd22a6da3 (diff)
Notes
Diffstat (limited to 'contrib')
-rw-r--r--contrib/libreadline/mbutil.c4
-rw-r--r--contrib/libreadline/misc.c6
2 files changed, 2 insertions, 8 deletions
diff --git a/contrib/libreadline/mbutil.c b/contrib/libreadline/mbutil.c
index 9a8f17c0f74e..695845a60f4e 100644
--- a/contrib/libreadline/mbutil.c
+++ b/contrib/libreadline/mbutil.c
@@ -126,11 +126,11 @@ _rl_find_next_mbchar_internal (string, seed, count, find_non_zero)
if (find_non_zero)
{
tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps);
- while (wcwidth (wc) == 0)
+ while (tmp > 0 && wcwidth (wc) == 0)
{
point += tmp;
tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps);
- if (tmp == (size_t)(0) || tmp == (size_t)(-1) || tmp == (size_t)(-2))
+ if (MB_NULLWCH (tmp) || MB_INVALIDCH (tmp))
break;
}
}
diff --git a/contrib/libreadline/misc.c b/contrib/libreadline/misc.c
index ab1e1337fd3a..403313a04350 100644
--- a/contrib/libreadline/misc.c
+++ b/contrib/libreadline/misc.c
@@ -276,12 +276,6 @@ rl_maybe_save_line ()
_rl_saved_line_for_history->line = savestring (rl_line_buffer);
_rl_saved_line_for_history->data = (char *)rl_undo_list;
}
- else if (STREQ (rl_line_buffer, _rl_saved_line_for_history->line) == 0)
- {
- free (_rl_saved_line_for_history->line);
- _rl_saved_line_for_history->line = savestring (rl_line_buffer);
- _rl_saved_line_for_history->data = (char *)rl_undo_list; /* XXX possible memleak */
- }
return 0;
}