diff options
Diffstat (limited to 'lib/libedit/chared.c')
| -rw-r--r-- | lib/libedit/chared.c | 42 |
1 files changed, 18 insertions, 24 deletions
diff --git a/lib/libedit/chared.c b/lib/libedit/chared.c index 9ec618e60cb56..2b57051fc44b3 100644 --- a/lib/libedit/chared.c +++ b/lib/libedit/chared.c @@ -1,4 +1,4 @@ -/* $NetBSD: chared.c,v 1.49 2016/02/24 14:29:21 christos Exp $ */ +/* $NetBSD: chared.c,v 1.40 2014/06/18 18:12:28 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)chared.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: chared.c,v 1.49 2016/02/24 14:29:21 christos Exp $"); +__RCSID("$NetBSD: chared.c,v 1.40 2014/06/18 18:12:28 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include <sys/cdefs.h> @@ -46,12 +46,8 @@ __FBSDID("$FreeBSD$"); /* * chared.c: Character editor utilities */ -#include <ctype.h> #include <stdlib.h> -#include <string.h> - #include "el.h" -#include "common.h" private void ch__clearmacro (EditLine *); @@ -205,7 +201,7 @@ c_delbefore1(EditLine *el) * Return if p is part of a word according to emacs */ protected int -ce__isword(wint_t p) +ce__isword(Int p) { return Isalnum(p) || Strchr(STR("*?_-.[]~="), p) != NULL; } @@ -215,7 +211,7 @@ ce__isword(wint_t p) * Return if p is part of a word according to vi */ protected int -cv__isword(wint_t p) +cv__isword(Int p) { if (Isalnum(p) || p == '_') return 1; @@ -229,7 +225,7 @@ cv__isword(wint_t p) * Return if p is part of a big word according to vi */ protected int -cv__isWord(wint_t p) +cv__isWord(Int p) { return !Isspace(p); } @@ -239,7 +235,7 @@ cv__isWord(wint_t p) * Find the previous word */ protected Char * -c__prev_word(Char *p, Char *low, int n, int (*wtest)(wint_t)) +c__prev_word(Char *p, Char *low, int n, int (*wtest)(Int)) { p--; @@ -263,7 +259,7 @@ c__prev_word(Char *p, Char *low, int n, int (*wtest)(wint_t)) * Find the next word */ protected Char * -c__next_word(Char *p, Char *high, int n, int (*wtest)(wint_t)) +c__next_word(Char *p, Char *high, int n, int (*wtest)(Int)) { while (n--) { while ((p < high) && !(*wtest)(*p)) @@ -281,7 +277,7 @@ c__next_word(Char *p, Char *high, int n, int (*wtest)(wint_t)) * Find the next word vi style */ protected Char * -cv_next_word(EditLine *el, Char *p, Char *high, int n, int (*wtest)(wint_t)) +cv_next_word(EditLine *el, Char *p, Char *high, int n, int (*wtest)(Int)) { int test; @@ -310,7 +306,7 @@ cv_next_word(EditLine *el, Char *p, Char *high, int n, int (*wtest)(wint_t)) * Find the previous word vi style */ protected Char * -cv_prev_word(Char *p, Char *low, int n, int (*wtest)(wint_t)) +cv_prev_word(Char *p, Char *low, int n, int (*wtest)(Int)) { int test; @@ -374,7 +370,7 @@ cv_delfini(EditLine *el) * Go to the end of this word according to vi */ protected Char * -cv__endword(Char *p, Char *high, int n, int (*wtest)(wint_t)) +cv__endword(Char *p, Char *high, int n, int (*wtest)(Int)) { int test; @@ -528,7 +524,7 @@ ch_enlargebufs(EditLine *el, size_t addlen) /* zero the newly added memory, leave old data in */ (void) memset(&newbuffer[sz], 0, (newsz - sz) * sizeof(*newbuffer)); - + oldbuf = el->el_line.buffer; el->el_line.buffer = newbuffer; @@ -577,7 +573,7 @@ ch_enlargebufs(EditLine *el, size_t addlen) el->el_chared.c_redo.lim = newbuffer + (el->el_chared.c_redo.lim - el->el_chared.c_redo.buf); el->el_chared.c_redo.buf = newbuffer; - + if (!hist_enlargebuf(el, sz, newsz)) return 0; @@ -677,9 +673,9 @@ out: protected int c_gets(EditLine *el, Char *buf, const Char *prompt) { - wchar_t wch; + Char ch; ssize_t len; - Char *cp = el->el_line.buffer, ch; + Char *cp = el->el_line.buffer; if (prompt) { len = (ssize_t)Strlen(prompt); @@ -694,28 +690,26 @@ c_gets(EditLine *el, Char *buf, const Char *prompt) el->el_line.lastchar = cp + 1; re_refresh(el); - if (el_wgetc(el, &wch) != 1) { + if (FUN(el,getc)(el, &ch) != 1) { ed_end_of_file(el, 0); len = -1; break; } - ch = (Char)wch; switch (ch) { - case L'\b': /* Delete and backspace */ + case 0010: /* Delete and backspace */ case 0177: if (len == 0) { len = -1; break; } - len--; cp--; continue; case 0033: /* ESC */ - case L'\r': /* Newline */ - case L'\n': + case '\r': /* Newline */ + case '\n': buf[len] = ch; break; |
