diff options
Diffstat (limited to 'bin')
-rw-r--r-- | bin/Makefile | 2 | ||||
-rw-r--r-- | bin/bit.y | 31 |
2 files changed, 6 insertions, 27 deletions
diff --git a/bin/Makefile b/bin/Makefile index 52d470f6..e03e5093 100644 --- a/bin/Makefile +++ b/bin/Makefile @@ -5,7 +5,7 @@ PREFIX = ~/.local MANDIR = $(PREFIX)/share/man CFLAGS += -Wall -Wextra -Wpedantic -LDLIBS = -ledit -lm -lutil -lz +LDLIBS = -lm -lutil -lz CFLAGS_tls = $(CFLAGS) -I$(LIBRESSL_PREFIX)/include LDFLAGS_tls = $(LDFLAGS) -L$(LIBRESSL_PREFIX)/lib diff --git a/bin/bit.y b/bin/bit.y index 2d97766e..0a9bc7ce 100644 --- a/bin/bit.y +++ b/bin/bit.y @@ -18,7 +18,6 @@ #include <ctype.h> #include <err.h> -#include <histedit.h> #include <inttypes.h> #include <stdint.h> #include <stdio.h> @@ -147,30 +146,13 @@ static int yylex(void) { } } -static char *prompt(EditLine *el) { - (void)el; - return ""; -} - int main(void) { - HistEvent ev; - History *hist = history_init(); - if (!hist) err(EX_OSERR, "history_init"); - history(hist, &ev, H_SETSIZE, 100); - history(hist, &ev, H_SETUNIQUE, 1); - - EditLine *el = el_init("bit", stdin, stdout, stderr); - if (!el) err(EX_IOERR, "el_init"); - el_set(el, EL_PROMPT, prompt); - el_set(el, EL_HIST, history, hist); - - for (;;) { - int len; - input = el_gets(el, &len); - if (len == 0) break; - if (len == 1) continue; - history(hist, &ev, H_ENTER, input); + char *line = NULL; + size_t cap = 0; + while (0 < getline(&line, &cap, stdin)) { + if (line[0] == '\n') continue; + input = line; int error = yyparse(); if (error) continue; @@ -209,7 +191,4 @@ int main(void) { printf("\n\n"); } - - el_end(el); - history_end(hist); } |