83 lines
2.4 KiB
Plaintext
83 lines
2.4 KiB
Plaintext
$OpenBSD: patch-readline_readline_c,v 1.2 2004/06/07 05:58:45 david Exp $
|
|
--- readline/readline.c.orig 1995-02-24 15:20:03.000000000 -0600
|
|
+++ readline/readline.c 2004-06-06 22:06:07.000000000 -0500
|
|
@@ -610,22 +610,22 @@ rl_signal_handler (sig)
|
|
|
|
rl_set_signals ()
|
|
{
|
|
- old_int = (SigHandler *)signal (SIGINT, rl_signal_handler);
|
|
+ old_int = (SigHandler *)signal (SIGINT, (void *)rl_signal_handler);
|
|
if (old_int == (SigHandler *)SIG_IGN)
|
|
signal (SIGINT, SIG_IGN);
|
|
|
|
- old_alrm = (SigHandler *)signal (SIGALRM, rl_signal_handler);
|
|
+ old_alrm = (SigHandler *)signal (SIGALRM, (void *)rl_signal_handler);
|
|
if (old_alrm == (SigHandler *)SIG_IGN)
|
|
signal (SIGALRM, SIG_IGN);
|
|
|
|
#if defined (SIGTSTP)
|
|
- old_tstp = (SigHandler *)signal (SIGTSTP, rl_signal_handler);
|
|
+ old_tstp = (SigHandler *)signal (SIGTSTP, (void *)rl_signal_handler);
|
|
if (old_tstp == (SigHandler *)SIG_IGN)
|
|
signal (SIGTSTP, SIG_IGN);
|
|
#endif
|
|
#if defined (SIGTTOU)
|
|
- old_ttou = (SigHandler *)signal (SIGTTOU, rl_signal_handler);
|
|
- old_ttin = (SigHandler *)signal (SIGTTIN, rl_signal_handler);
|
|
+ old_ttou = (SigHandler *)signal (SIGTTOU, (void *)rl_signal_handler);
|
|
+ old_ttin = (SigHandler *)signal (SIGTTIN, (void *)rl_signal_handler);
|
|
|
|
if (old_tstp == (SigHandler *)SIG_IGN)
|
|
{
|
|
@@ -635,26 +635,26 @@ rl_set_signals ()
|
|
#endif
|
|
|
|
#if defined (SIGWINCH)
|
|
- old_sigwinch = (SigHandler *)signal (SIGWINCH, rl_handle_sigwinch);
|
|
+ old_sigwinch = (SigHandler *)signal (SIGWINCH, (void *)rl_handle_sigwinch);
|
|
#endif
|
|
}
|
|
|
|
rl_clear_signals ()
|
|
{
|
|
- signal (SIGINT, old_int);
|
|
- signal (SIGALRM, old_alrm);
|
|
+ signal (SIGINT, (void *)old_int);
|
|
+ signal (SIGALRM, (void *)old_alrm);
|
|
|
|
#if defined (SIGTSTP)
|
|
- signal (SIGTSTP, old_tstp);
|
|
+ signal (SIGTSTP, (void *)old_tstp);
|
|
#endif
|
|
|
|
#if defined (SIGTTOU)
|
|
- signal (SIGTTOU, old_ttou);
|
|
- signal (SIGTTIN, old_ttin);
|
|
+ signal (SIGTTOU, (void *)old_ttou);
|
|
+ signal (SIGTTIN, (void *)old_ttin);
|
|
#endif
|
|
|
|
#if defined (SIGWINCH)
|
|
- signal (SIGWINCH, old_sigwinch);
|
|
+ signal (SIGWINCH, (void *)old_sigwinch);
|
|
#endif
|
|
}
|
|
#endif /* HANDLE_SIGNALS */
|
|
@@ -1700,8 +1700,14 @@ update_line (old, new, current_line)
|
|
return;
|
|
|
|
wsatend = 1; /* flag for trailing whitespace */
|
|
- ols = oe - 1; /* find last same */
|
|
- nls = ne - 1;
|
|
+
|
|
+ /* find last same */
|
|
+ ols = oe;
|
|
+ if (oe != old)
|
|
+ ols--;
|
|
+ nls = ne;
|
|
+ if (ne != new)
|
|
+ nls--;
|
|
while ((*ols == *nls) && (ols > ofd) && (nls > nfd))
|
|
{
|
|
if (*ols != ' ')
|