summaryrefslogtreecommitdiff
path: root/parse.c
diff options
context:
space:
mode:
authorÁkos Kőrösi <korakos99@gmail.com>2026-05-12 15:14:24 +0200
committerÁkos Kőrösi <korakos99@gmail.com>2026-05-12 15:14:24 +0200
commit32babee5145bb0248566960a69b674484deb3f94 (patch)
tree8180b6a10b0c8b20bacd4d63bebe4fd731014f75 /parse.c
parentce7bc08b1db6011a82b27dbccf4e5502b948a820 (diff)
fixes
Diffstat (limited to 'parse.c')
-rw-r--r--parse.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/parse.c b/parse.c
index b20b8dc..90b904e 100644
--- a/parse.c
+++ b/parse.c
@@ -1,4 +1,5 @@
#include <stdlib.h>
+#include <stdio.h>
#include "lex.h"
#include "typeutils.h"
@@ -29,7 +30,7 @@ Command parse_command(TokStream* toks) {
RedirectVec redirects = make_RedirectVec(256);
for (
Token curr_tok;
- (curr_tok = toks->ptr[toks->pos], !(curr_tok.kind == TOK_SPECIAL && (curr_tok.as.spec == PIPE && curr_tok.as.spec == EOL)));
+ (curr_tok = toks->ptr[toks->pos], !(curr_tok.kind == TOK_SPECIAL && (curr_tok.as.spec == PIPE || curr_tok.as.spec == EOL)));
toks->pos++
) {
switch (curr_tok.kind) {
@@ -73,5 +74,6 @@ Pipeline parse_tokstream(TokenVec toks) {
Command cmd = parse_command(&tokstream);
Connector conn = parse_connector(&tokstream);
push_to_Pipeline(&result, (PipelineElement){.cmd = cmd, .conn = conn});
+ if (conn == CONN_EOL) break;
}
}