summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--bin/Makefile2
-rw-r--r--bin/bit.y31
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);
 }