diff options
| author | Dominik Kaiser | 2024-07-08 16:15:32 +0200 |
|---|---|---|
| committer | Dominik Kaiser | 2024-07-08 16:15:32 +0200 |
| commit | 5316c9880416b77b4b97b07fd6ae47f171a0ba23 (patch) | |
| tree | 45d3a48b156895d5a9101d8aca293daabb69c4bb /src/free_node.c | |
| parent | bc5e39df2154abfdf308b6cbe644b8953586be2d (diff) | |
| download | minishell-5316c9880416b77b4b97b07fd6ae47f171a0ba23.tar.gz minishell-5316c9880416b77b4b97b07fd6ae47f171a0ba23.zip | |
Move assign into cmd node
Diffstat (limited to 'src/free_node.c')
| -rw-r--r-- | src/free_node.c | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/free_node.c b/src/free_node.c index 8f32c12..8664a07 100644 --- a/src/free_node.c +++ b/src/free_node.c @@ -6,21 +6,19 @@ /* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/06/27 11:41:46 by dkaiser #+# #+# */ -/* Updated: 2024/06/28 14:55:50 by dkaiser ### ########.fr */ +/* Updated: 2024/07/08 16:15:21 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ #include "ast.h" -static void free_assign_node(t_node *node); static void free_pipe_node(t_node *node); static void free_cmd_node(t_node *node); +static void free_assigns(t_assign **assigns); void free_node(t_node *node) { - if (node->type == ASSIGN_NODE) - free_assign_node(node); - else if (node->type == PIPE_NODE) + if (node->type == PIPE_NODE) free_pipe_node(node); else if (node->type == CMD_NODE) free_cmd_node(node); @@ -54,6 +52,22 @@ static void free_cmd_node(t_node *node) i++; } free(node->content.cmd.args); + free_assigns(node->content.cmd.assigns); free(node->content.cmd.redirs[0].specifier); free(node->content.cmd.redirs[1].specifier); } + +static void free_assigns(t_assign **assigns) +{ + int i; + + i = 0; + while (assigns[i] != NULL) + { + free(assigns[i]->var); + free(assigns[i]->value); + free(assigns[i]); + i++; + } + free(assigns); +} |
