From 581ca7bc7bc157006ad6ba2d0a310a54fc480a22 Mon Sep 17 00:00:00 2001 From: tekClovis Date: Thu, 8 May 2025 12:03:50 +0200 Subject: [PATCH] [FIX] decrease the size of the sttring pointer not the token list size --- src/handle_vars.c | 4 ++-- src/magic_quotes.c | 1 - validation_tests.py | 21 +++++++++++---------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/handle_vars.c b/src/handle_vars.c index aee6efa..555b695 100644 --- a/src/handle_vars.c +++ b/src/handle_vars.c @@ -92,8 +92,8 @@ bool format_quotes(ast_t *node, char be_matched, size_t *i) if (last_quote == NULL) return (fprintf(stderr, "Unmatched \'%c\'.\n", be_matched), false); - node->vector.sz -= 2; - if (isblank(last_quote[1] || be_matched == '`')){ + node->vector.tokens[*i].sz -= 2; + if (isblank(last_quote[1]) || be_matched == '`'){ last_quote[0] = '\0'; return true; } else diff --git a/src/magic_quotes.c b/src/magic_quotes.c index 9079d3e..a56cedd 100644 --- a/src/magic_quotes.c +++ b/src/magic_quotes.c @@ -22,7 +22,6 @@ void exec_magic(ast_t *node, exec_ctx_t *ctx, size_t *i, int fd[2]) { pid_t pid = 0; - node->vector.tokens[*i].str[node->vector.tokens[*i].sz - 1] = '\0'; pid = fork(); if (pid == 0){ close(fd[0]); diff --git a/validation_tests.py b/validation_tests.py index e41a5d2..3b4fc84 100644 --- a/validation_tests.py +++ b/validation_tests.py @@ -189,19 +189,19 @@ TESTS = [ name="and or", cmds=[ "ls&&ls\n", - "aa&&ls\n", - "aa&&aa\n", - "ls&&aa\n", + "bb&&ls\n", + "bb&&bb\n", + "ls&&bb\n", "ls||ls\n", - "aa||ls\n", - "aa||aa\n", - "ls||aa\n", + "bb||ls\n", + "bb||bb\n", + "ls||bb\n", "&&\n", "ls && ls || ls && ls\n", - "ls && ls a || ls && ls\n", - "ls && ls || ls && ls a\n", - "ls && ls || ls && a\n", - "ls aa && ls || ls\n", + "ls && ls b || ls && ls\n", + "ls && ls || ls && ls b\n", + "ls && ls || ls && b\n", + "ls bb && ls || ls\n", ], depends_on=() ), @@ -213,6 +213,7 @@ TESTS = [ "echo `ls`\n", "echo `ls\n", "echo ls`\n", + "echo ls `ls`\n", ], depends_on=() ),