diff --git a/src/io_backend/io_backend.c b/src/io_backend/io_backend.c index 401daed..1ce256e 100644 --- a/src/io_backend/io_backend.c +++ b/src/io_backend/io_backend.c @@ -85,7 +85,11 @@ ssize_t stream_read(char **stream) if (nread == -1) { state = IOB_STATE_FINISHED; - return 0; + // MAGNIFICO + // malloc(1); + *stream_buf = EOF; + *stream = stream_buf; + return 1; } else if (nread < 0) state = IOB_STATE_ERROR; diff --git a/src/parser/parsing_utils.c b/src/parser/parsing_utils.c index 8511930..3be4f05 100644 --- a/src/parser/parsing_utils.c +++ b/src/parser/parsing_utils.c @@ -14,7 +14,6 @@ // === Static functions /* Returns true if c is a command terminator, false otherwise - */ static bool isterminator(struct token *token) { if (token == NULL) @@ -31,6 +30,8 @@ static bool isterminator(struct token *token) } } + */ + /* @brief: returns true if token is an end of list indicator. * @warning: not used */ @@ -77,8 +78,8 @@ struct ast *parse_list(struct lexer_context *ctx) while (token->type == TOKEN_SEMICOLON) { token = POP_TOKEN(); - if (!isterminator(token)) // Follow(list) - { + // if (!isterminator(token)) // Follow(list) + // { current_node = parse_and_or(ctx); if (current_node == NULL) { @@ -87,8 +88,8 @@ struct ast *parse_list(struct lexer_context *ctx) return NULL; } result_list = list_append(result_list, current_node); - token = PEEK_TOKEN(); - } + // } + token = PEEK_TOKEN(); } // result_list = list_append(result_list, current_node);