summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-07-18 15:04:59 -0400
committerJune McEnroe <june@causal.agency>2020-07-18 15:05:23 -0400
commit00cf7ee61dd07dc1be2eb5e506012e400db75e7d (patch)
treedb11fdbbf0c67e5a88459ed65d7746af7ca4730a
parentActually fix nvim and doas presence tests (diff)
downloadsrc-00cf7ee61dd07dc1be2eb5e506012e400db75e7d.tar.gz
src-00cf7ee61dd07dc1be2eb5e506012e400db75e7d.zip
Read from stdin in order
-rw-r--r--bin/man1/order.19
-rw-r--r--bin/order.y7
2 files changed, 14 insertions, 2 deletions
diff --git a/bin/man1/order.1 b/bin/man1/order.1
index f042102f..8e0f9661 100644
--- a/bin/man1/order.1
+++ b/bin/man1/order.1
@@ -1,4 +1,4 @@
-.Dd May 18, 2019
+.Dd July 18, 2020
 .Dt ORDER 1
 .Os
 .
@@ -8,7 +8,7 @@
 .
 .Sh SYNOPSIS
 .Nm
-.Ar expr ...
+.Op Ar expr ...
 .
 .Sh DESCRIPTION
 .Nm
@@ -16,6 +16,11 @@ parses C expressions
 and prints them with parentheses
 according to the precedence rules in
 .Xr operator 7 .
+If no
+.Ar expr
+are given,
+each line of standard input
+is parsed and printed.
 .
 .Sh EXAMPLES
 .Bd -literal
diff --git a/bin/order.y b/bin/order.y
index 0fb882d9..b798e634 100644
--- a/bin/order.y
+++ b/bin/order.y
@@ -183,4 +183,11 @@ int main(int argc, char *argv[]) {
 		input = argv[i];
 		yyparse();
 	}
+	if (argc > 1) return EX_OK;
+	size_t cap = 0;
+	char *buf = NULL;
+	while (0 < getline(&buf, &cap, stdin)) {
+		input = buf;
+		yyparse();
+	}
 }