diff options
| author | Dominik Kaiser | 2024-08-02 13:24:48 +0200 |
|---|---|---|
| committer | Dominik Kaiser | 2024-08-02 13:24:48 +0200 |
| commit | d59a405311553dbe568ed79a5449f3222f8495ad (patch) | |
| tree | de91aad16c9a60b42c55d33461f562dd53617b68 /src | |
| parent | 2252eac3c49fa373d295d485e4f04ea41a475efb (diff) | |
| download | minishell-d59a405311553dbe568ed79a5449f3222f8495ad.tar.gz minishell-d59a405311553dbe568ed79a5449f3222f8495ad.zip | |
Fix some issues in parse_cmd.c
Diffstat (limited to 'src')
| -rw-r--r-- | src/parse_cmd.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/parse_cmd.c b/src/parse_cmd.c index 0173caa..8ed9785 100644 --- a/src/parse_cmd.c +++ b/src/parse_cmd.c @@ -6,7 +6,7 @@ /* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/07/08 15:06:25 by dkaiser #+# #+# */ -/* Updated: 2024/07/10 13:26:17 by dkaiser ### ########.fr */ +/* Updated: 2024/08/02 13:22:18 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ @@ -60,6 +60,8 @@ static t_redirection *collect_redirs(t_token **tokens) free_token_and_connect(cur->previous); if (cur->next != NULL) { + if (cur->previous == NULL) + *tokens = cur->next; cur = cur->next; free_token_and_connect(cur->previous); } @@ -111,8 +113,15 @@ static t_assign **collect_assigns(t_token **tokens) { result[i] = to_assign(cur->content.string); i++; - cur = cur->next; - free_token(cur->previous); + if (cur->next != NULL) + { + cur = cur->next; + free_token(cur->previous); + } + else + { + free_token(cur); + } } *tokens = cur; result[i] = NULL; @@ -157,7 +166,7 @@ static char **collect_args(t_token **tokens) } cur = *tokens; i = 0; - while (cur != NULL) + while (cur != NULL && cur->type == STRING_TOKEN) { result[i] = cur->content.string; // free token |
