From e1291107d4b11827c265da185ffbdb4bec134b33 Mon Sep 17 00:00:00 2001 From: matteo Date: Thu, 29 Jan 2026 09:59:16 +0100 Subject: [PATCH] fix: small errors in exec and parser --- src/execution/execution_helpers.c | 2 +- src/parser/grammar.c | 6 +++--- src/parser/grammar_basic.c | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/execution/execution_helpers.c b/src/execution/execution_helpers.c index 971688a..9dcaf41 100644 --- a/src/execution/execution_helpers.c +++ b/src/execution/execution_helpers.c @@ -123,7 +123,7 @@ static int get_fd_target(const struct ast_redir *redir) if (redir->io_number != -1) return redir->io_number; if (redir->type == AST_REDIR_TYPE_LESS - || redir->type == AST_REDIR_TYPE_DLESS + || redir->type == AST_REDIR_TYPE_LESSGREAT || redir->type == AST_REDIR_TYPE_LESSAND) return 0; return 1; diff --git a/src/parser/grammar.c b/src/parser/grammar.c index 83f2266..95f1bd2 100644 --- a/src/parser/grammar.c +++ b/src/parser/grammar.c @@ -106,15 +106,15 @@ bool grammar_init(void) add_first(RULE_LIST, TOKEN_WORD); add_first(RULE_LIST, TOKEN_IF); - add_first(RULE_COMMAND, TOKEN_NEGATION); + add_first(RULE_LIST, TOKEN_NEGATION); add_first(RULE_AND_OR, TOKEN_WORD); add_first(RULE_AND_OR, TOKEN_IF); - add_first(RULE_COMMAND, TOKEN_NEGATION); + add_first(RULE_AND_OR, TOKEN_NEGATION); add_first(RULE_PIPELINE, TOKEN_WORD); add_first(RULE_PIPELINE, TOKEN_IF); - add_first(RULE_COMMAND, TOKEN_NEGATION); + add_first(RULE_PIPELINE, TOKEN_NEGATION); add_first(RULE_COMMAND, TOKEN_WORD); add_first(RULE_COMMAND, TOKEN_IF); diff --git a/src/parser/grammar_basic.c b/src/parser/grammar_basic.c index 17e006f..9102593 100644 --- a/src/parser/grammar_basic.c +++ b/src/parser/grammar_basic.c @@ -261,6 +261,7 @@ struct ast *parse_simple_command(struct lexer_context *ctx) } // Result + // TODO handle assignements struct ast *result = ast_create_command(command_elements, redirections); if (result == NULL) {