aboutsummaryrefslogtreecommitdiff
path: root/src/free_node.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/free_node.c')
-rw-r--r--src/free_node.c117
1 files changed, 35 insertions, 82 deletions
diff --git a/src/free_node.c b/src/free_node.c
index 733fe1c..e62d6cb 100644
--- a/src/free_node.c
+++ b/src/free_node.c
@@ -6,7 +6,7 @@
/* By: chuhlig <chuhlig@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/06/27 11:41:46 by dkaiser #+# #+# */
-/* Updated: 2025/01/22 16:00:36 by chuhlig ### ########.fr */
+/* Updated: 2025/01/25 11:39:01 by chuhlig ### ########.fr */
/* */
/* ************************************************************************** */
@@ -16,96 +16,49 @@ static void free_pipe_node(t_node *node);
static void free_cmd_node(t_node *node);
static void free_file(void *arg);
-// void free_node(t_node *node)
-// {
-// if (node->type == PIPE_NODE)
-// free_pipe_node(node);
-// else if (node->type == CMD_NODE)
-// free_cmd_node(node);
-// else if (node->type == STRING_NODE)
-// free(node->content.string);
-// else
-// panic(UNREACHABLE);
-// free(node);
-// }
-
-// static void free_pipe_node(t_node *node)
-// {
-// free_node(node->content.pipe.left);
-// free_node(node->content.pipe.right);
-// }
-
-// static void free_cmd_node(t_node *node)
-// {
-// int i;
-
-// i = 0;
-// while (node->content.cmd.args != NULL && node->content.cmd.args[i] != NULL)
-// {
-// free(node->content.cmd.args[i]);
-// i++;
-// }
-// free(node->content.cmd.args);
-// if (node->content.cmd.redirs[0].type != 0
-// && node->content.cmd.redirs[0].specifier != NULL)
-// free(node->content.cmd.redirs[0].specifier);
-// if (node->content.cmd.redirs[1].type != 0
-// && node->content.cmd.redirs[0].specifier != NULL)
-// free(node->content.cmd.redirs[1].specifier);
-// if (node->content.cmd.create_files != NULL)
-// ft_lstclear(&node->content.cmd.create_files, free_file);
-// }
-
-// static void free_file(void *arg)
-// {
-// t_redirection *file;
-
-// file = (t_redirection *)arg;
-// free(file->specifier);
-// free(file);
-// }
-
-void free_node(t_node *node)
+void free_node(t_node *node)
{
- if (node->type == PIPE_NODE)
- free_pipe_node(node);
- else if (node->type == CMD_NODE)
- free_cmd_node(node);
- else if (node->type == STRING_NODE)
- free(node->content.string);
- free(node);
+ if (node->type == PIPE_NODE)
+ free_pipe_node(node);
+ else if (node->type == CMD_NODE)
+ free_cmd_node(node);
+ else if (node->type == STRING_NODE)
+ free(node->content.string);
+ free(node);
}
-static void free_pipe_node(t_node *node)
+static void free_pipe_node(t_node *node)
{
- free_node(node->content.pipe.left);
- free_node(node->content.pipe.right);
+ free_node(node->content.pipe.left);
+ free_node(node->content.pipe.right);
}
-static void free_cmd_node(t_node *node)
+static void free_cmd_node(t_node *node)
{
- int i;
+ int i;
- i = 0;
- while (node->content.cmd.args != NULL && node->content.cmd.args[i] != NULL)
- {
- free(node->content.cmd.args[i]);
- i++;
- }
- free(node->content.cmd.args);
- if (node->content.cmd.redirs[0].type != 0 && node->content.cmd.redirs[0].specifier != NULL)
- free(node->content.cmd.redirs[0].specifier);
- if (node->content.cmd.redirs[1].type != 0 && node->content.cmd.redirs[1].specifier != NULL)
- free(node->content.cmd.redirs[1].specifier);
- if (node->content.cmd.create_files != NULL)
- ft_lstclear(&node->content.cmd.create_files, free_file);
+ i = 0;
+ while (node->content.cmd.args != NULL && node->content.cmd.args[i] != NULL)
+ {
+ free(node->content.cmd.args[i]);
+ i++;
+ }
+ free(node->content.cmd.args);
+ if (node->content.cmd.redirs[0].type != 0
+ && node->content.cmd.redirs[0].specifier != NULL)
+ free(node->content.cmd.redirs[0].specifier);
+ if (node->content.cmd.redirs[1].type != 0
+ && node->content.cmd.redirs[1].specifier != NULL)
+ free(node->content.cmd.redirs[1].specifier);
+ if (node->content.cmd.create_files != NULL)
+ ft_lstclear(&node->content.cmd.create_files, free_file);
}
-static void free_file(void *arg)
+static void free_file(void *arg)
{
- t_redirection *file;
+ t_redirection *file;
- file = (t_redirection *)arg;
- free(file->specifier);
- free(file);
-} \ No newline at end of file
+ file = (t_redirection *)arg;
+ free(file->specifier);
+ free(file);
+}