summaryrefslogtreecommitdiff
path: root/eln.c
diff options
context:
space:
mode:
authorPedro F. Giffuni <pfg@FreeBSD.org>2017-09-13 15:57:58 +0000
committerPedro F. Giffuni <pfg@FreeBSD.org>2017-09-13 15:57:58 +0000
commit8c36b0434ca4a5ba6df2724542048eb219af7a34 (patch)
treeb6315213d0c73ac7d01023a1a82d568559b68b19 /eln.c
parent70f1d4d70d0c78aa69c52d977130f4046851c4a3 (diff)
Notes
Diffstat (limited to 'eln.c')
-rw-r--r--eln.c46
1 files changed, 21 insertions, 25 deletions
diff --git a/eln.c b/eln.c
index d708b265e567..aa0a5b565dd7 100644
--- a/eln.c
+++ b/eln.c
@@ -1,4 +1,4 @@
-/* $NetBSD: eln.c,v 1.28 2016/02/28 23:02:24 christos Exp $ */
+/* $NetBSD: eln.c,v 1.34 2016/05/09 21:37:34 christos Exp $ */
/*-
* Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -27,7 +27,7 @@
*/
#include "config.h"
#if !defined(lint) && !defined(SCCSID)
-__RCSID("$NetBSD: eln.c,v 1.28 2016/02/28 23:02:24 christos Exp $");
+__RCSID("$NetBSD: eln.c,v 1.34 2016/05/09 21:37:34 christos Exp $");
#endif /* not lint && not SCCSID */
#include <errno.h>
@@ -37,7 +37,7 @@ __RCSID("$NetBSD: eln.c,v 1.28 2016/02/28 23:02:24 christos Exp $");
#include "el.h"
-public int
+int
el_getc(EditLine *el, char *cp)
{
int num_read;
@@ -47,7 +47,7 @@ el_getc(EditLine *el, char *cp)
*cp = '\0';
if (num_read <= 0)
return num_read;
- num_read = ct_wctob(wc);
+ num_read = wctob(wc);
if (num_read == EOF) {
errno = ERANGE;
return -1;
@@ -58,8 +58,7 @@ el_getc(EditLine *el, char *cp)
}
-#ifdef WIDECHAR
-public void
+void
el_push(EditLine *el, const char *str)
{
/* Using multibyte->wide string decoding works fine under single-byte
@@ -68,7 +67,7 @@ el_push(EditLine *el, const char *str)
}
-public const char *
+const char *
el_gets(EditLine *el, int *nread)
{
const wchar_t *tmp;
@@ -86,24 +85,23 @@ el_gets(EditLine *el, int *nread)
}
-public int
+int
el_parse(EditLine *el, int argc, const char *argv[])
{
int ret;
const wchar_t **wargv;
- wargv = (const wchar_t **)
- ct_decode_argv(argc, argv, &el->el_lgcyconv);
+ wargv = (void *)ct_decode_argv(argc, argv, &el->el_lgcyconv);
if (!wargv)
return -1;
ret = el_wparse(el, argc, wargv);
- ct_free_argv(wargv);
+ el_free(wargv);
return ret;
}
-public int
+int
el_set(EditLine *el, int op, ...)
{
va_list ap;
@@ -172,8 +170,7 @@ el_set(EditLine *el, int op, ...)
if ((argv[i] = va_arg(ap, const char *)) == NULL)
break;
argv[0] = argv[i] = NULL;
- wargv = (const wchar_t **)
- ct_decode_argv(i + 1, argv, &el->el_lgcyconv);
+ wargv = (void *)ct_decode_argv(i + 1, argv, &el->el_lgcyconv);
if (!wargv) {
ret = -1;
goto out;
@@ -185,29 +182,29 @@ el_set(EditLine *el, int op, ...)
*/
switch (op) {
case EL_BIND:
- wargv[0] = STR("bind");
+ wargv[0] = L"bind";
ret = map_bind(el, i, wargv);
break;
case EL_TELLTC:
- wargv[0] = STR("telltc");
+ wargv[0] = L"telltc";
ret = terminal_telltc(el, i, wargv);
break;
case EL_SETTC:
- wargv[0] = STR("settc");
+ wargv[0] = L"settc";
ret = terminal_settc(el, i, wargv);
break;
case EL_ECHOTC:
- wargv[0] = STR("echotc");
+ wargv[0] = L"echotc";
ret = terminal_echotc(el, i, wargv);
break;
case EL_SETTY:
- wargv[0] = STR("setty");
+ wargv[0] = L"setty";
ret = tty_stty(el, i, wargv);
break;
default:
ret = -1;
}
- ct_free_argv(wargv);
+ el_free(wargv);
break;
}
@@ -227,9 +224,9 @@ el_set(EditLine *el, int op, ...)
goto out;
}
/* XXX: The two strdup's leak */
- ret = map_addfunc(el, Strdup(wargv[0]), Strdup(wargv[1]),
+ ret = map_addfunc(el, wcsdup(wargv[0]), wcsdup(wargv[1]),
func);
- ct_free_argv(wargv);
+ el_free(wargv);
break;
}
case EL_HIST: { /* hist_fun_t, const char * */
@@ -273,7 +270,7 @@ out:
}
-public int
+int
el_get(EditLine *el, int op, ...)
{
va_list ap;
@@ -366,7 +363,7 @@ el_line(EditLine *el)
const LineInfoW *winfo = el_wline(el);
LineInfo *info = &el->el_lgcylinfo;
size_t offset;
- const Char *p;
+ const wchar_t *p;
info->buffer = ct_encode_string(winfo->buffer, &el->el_lgcyconv);
@@ -389,4 +386,3 @@ el_insertstr(EditLine *el, const char *str)
{
return el_winsertstr(el, ct_decode_string(str, &el->el_lgcyconv));
}
-#endif /* WIDECHAR */