summary refs log tree commit diff
path: root/bin/bit.y
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2019-07-24 17:44:48 -0400
committerJune McEnroe <june@causal.agency>2019-07-24 17:44:48 -0400
commit6a4f9589fcb323dc0c8583aec0252be0f25d230b (patch)
tree9d6ad4a4c54de48b0f93c2beaffe01f69b7deb3f /bin/bit.y
parentAdd wiki script (diff)
downloadsrc-6a4f9589fcb323dc0c8583aec0252be0f25d230b.tar.gz
src-6a4f9589fcb323dc0c8583aec0252be0f25d230b.zip
Remove histedit from bit
Decided that I don't really need it and would rather have fewer
dependencies.
Diffstat (limited to 'bin/bit.y')
-rw-r--r--bin/bit.y31
1 files changed, 5 insertions, 26 deletions
diff --git a/bin/bit.y b/bin/bit.y
index 99199a3d..7843419e 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);
 }