summaryrefslogtreecommitdiff
path: root/eln.c
diff options
context:
space:
mode:
Diffstat (limited to 'eln.c')
-rw-r--r--eln.c34
1 files changed, 20 insertions, 14 deletions
diff --git a/eln.c b/eln.c
index 072a034b7a7be..1b829c2c6f1b0 100644
--- a/eln.c
+++ b/eln.c
@@ -1,4 +1,4 @@
-/* $NetBSD: eln.c,v 1.7 2010/04/15 00:52:48 christos Exp $ */
+/* $NetBSD: eln.c,v 1.14 2012/03/11 21:15:25 christos Exp $ */
/*-
* Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
*/
#include "config.h"
#if !defined(lint) && !defined(SCCSID)
-__RCSID("$NetBSD: eln.c,v 1.7 2010/04/15 00:52:48 christos Exp $");
+__RCSID("$NetBSD: eln.c,v 1.14 2012/03/11 21:15:25 christos Exp $");
#endif /* not lint && not SCCSID */
#include "histedit.h"
@@ -57,7 +57,7 @@ el_getc(EditLine *el, char *cp)
el->el_flags &= ~IGNORE_EXTCHARS;
if (num_read > 0)
- *cp = (unsigned char)wc;
+ *cp = (char)wc;
return num_read;
}
@@ -118,6 +118,13 @@ el_set(EditLine *el, int op, ...)
break;
}
+ case EL_RESIZE: {
+ el_zfunc_t p = va_arg(ap, el_zfunc_t);
+ void *arg = va_arg(ap, void *);
+ ret = ch_resizefun(el, p, arg);
+ break;
+ }
+
case EL_TERMINAL: /* const char * */
ret = el_wset(el, op, va_arg(ap, char *));
break;
@@ -147,7 +154,7 @@ el_set(EditLine *el, int op, ...)
break;
argv[0] = NULL;
wargv = (const wchar_t **)
- ct_decode_argv(i, argv, &el->el_lgcyconv);
+ ct_decode_argv(i + 1, argv, &el->el_lgcyconv);
if (!wargv) {
ret = -1;
goto out;
@@ -164,15 +171,15 @@ el_set(EditLine *el, int op, ...)
break;
case EL_TELLTC:
wargv[0] = STR("telltc");
- ret = term_telltc(el, i, wargv);
+ ret = terminal_telltc(el, i, wargv);
break;
case EL_SETTC:
wargv[0] = STR("settc");
- ret = term_settc(el, i, wargv);
+ ret = terminal_settc(el, i, wargv);
break;
case EL_ECHOTC:
wargv[0] = STR("echotc");
- ret = term_echotc(el, i, wargv);
+ ret = terminal_echotc(el, i, wargv);
break;
case EL_SETTY:
wargv[0] = STR("setty");
@@ -208,10 +215,9 @@ el_set(EditLine *el, int op, ...)
}
case EL_HIST: { /* hist_fun_t, const char * */
hist_fun_t fun = va_arg(ap, hist_fun_t);
- ptr_t ptr = va_arg(ap, ptr_t);
+ void *ptr = va_arg(ap, void *);
ret = hist_set(el, fun, ptr);
- if (!(el->el_flags & CHARSET_IS_UTF8))
- el->el_flags |= NARROW_HISTORY;
+ el->el_flags |= NARROW_HISTORY;
break;
}
/* XXX: do we need to change el_rfunc_t? */
@@ -231,7 +237,7 @@ el_set(EditLine *el, int op, ...)
case EL_PROMPT_ESC: /* el_pfunc_t, char */
case EL_RPROMPT_ESC: {
el_pfunc_t p = va_arg(ap, el_pfunc_t);
- char c = va_arg(ap, int);
+ char c = (char)va_arg(ap, int);
ret = prompt_set(el, p, c, op, 0);
break;
}
@@ -269,9 +275,9 @@ el_get(EditLine *el, int op, ...)
case EL_RPROMPT_ESC: {
el_pfunc_t *p = va_arg(ap, el_pfunc_t *);
char *c = va_arg(ap, char *);
- wchar_t wc;
+ wchar_t wc = 0;
ret = prompt_get(el, p, &wc, op);
- *c = (unsigned char)wc;
+ *c = (char)wc;
break;
}
@@ -304,7 +310,7 @@ el_get(EditLine *el, int op, ...)
if ((argv[i] = va_arg(ap, char *)) == NULL)
break;
argv[0] = gettc;
- ret = term_gettc(el, i, argv);
+ ret = terminal_gettc(el, i, argv);
break;
}