Rename ft_tree_erase_child to ft_tree_erase_subtree
authorLukáš Jiřiště <gymnazium.jiriste@gmail.com>
Thu, 31 Jul 2025 10:21:22 +0000 (12:21 +0200)
committerLukáš Jiřiště <gymnazium.jiriste@gmail.com>
Thu, 31 Jul 2025 10:21:22 +0000 (12:21 +0200)
Makefile
ft_struct/ft_tree_erase_child.c [deleted file]
ft_struct/ft_tree_erase_subtree.c [new file with mode: 0644]
ft_struct/ft_tree_free.c
inc/ft_struct.h

index 9e93dde3d718cda945ff1f5ec1a3ec1c0fb3f050..95d82d85404a803f917804892e41591ac3b2ff40 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -23,9 +23,9 @@ SRCstruct:=   ft_stack_free.c                                                                                 \
                        ft_stack_top.c                                                                                  \
                        ft_tree_init.c                                                                                  \
                        ft_tree_append_child.c                                                                  \
-                       *ft_tree_access_child.c                                                                 \
-                       *ft_tree_access_data.c                                                                  \
-                       ft_tree_erase_child.c                                                                   \
+                       ft_tree_access_child.c                                                                  \
+                       ft_tree_access_data.c                                                                   \
+                       ft_tree_erase_subtree.c                                                                 \
                        ft_tree_replace_with_child.c                                                    \
                        ft_tree_forget_child.c                                                                  \
                        ft_tree_free.c                                                                                  \
diff --git a/ft_struct/ft_tree_erase_child.c b/ft_struct/ft_tree_erase_child.c
deleted file mode 100644 (file)
index 1151451..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#include "ft_struct.h"
-
-t_ft_stat      ft_tree_erase_child(t_tree_node *tree_node, size_t i, void (*free_el)(void *))
-{
-       t_tree_node     *child_to_erase;
-
-       if (!tree_node || i >= tree_node->children.size)
-               return (invalid_input);
-       child_to_erase = ft_tree_access_child(tree_node, i);
-       while (child_to_erase->children.size > 0)
-               ft_tree_erase_child(child_to_erase, 0, free_el);
-       if (free_el)
-               free_el(&child_to_erase->data);
-       ft_vec_free(&child_to_erase->children, NULL);
-       return (ft_tree_forget_child(tree_node, i));
-}
diff --git a/ft_struct/ft_tree_erase_subtree.c b/ft_struct/ft_tree_erase_subtree.c
new file mode 100644 (file)
index 0000000..5fe07f3
--- /dev/null
@@ -0,0 +1,16 @@
+#include "ft_struct.h"
+
+t_ft_stat      ft_tree_erase_subtree(t_tree_node *tree_node, size_t i, void (*free_el)(void *))
+{
+       t_tree_node     *subtree;
+
+       if (!tree_node || i >= tree_node->children.size)
+               return (invalid_input);
+       subtree = ft_tree_access_child(tree_node, i);
+       while (subtree->children.size > 0)
+               ft_tree_erase_subtree(subtree, 0, free_el);
+       if (free_el)
+               free_el(&subtree->data);
+       ft_vec_free(&subtree->children, NULL);
+       return (ft_tree_forget_child(tree_node, i));
+}
index 74e0b5b77320f1b470670a771981452e40341484..2de8e2ba94bdd986d1f82abc3b4b8f2be5ba1d6d 100644 (file)
@@ -6,7 +6,7 @@ void    ft_tree_free(t_tree *tree, void (*free_el)(void *))
        if (!tree)
                return ;
        while (tree->children.size > 0)
-               ft_tree_erase_child(tree, 0, free_el);
+               ft_tree_erase_subtree(tree, 0, free_el);
        if (free_el)
                free_el(&tree->data);
        ft_vec_free(&tree->children, NULL);
index 151bce444105302a9aea25aba9a213e38d122ee7..21c8f38efde5ee28ee94e648faad5d0e8759eddc 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: ljiriste <marvin@42.fr>                    +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2024/06/20 16:59:43 by ljiriste          #+#    #+#             */
-/*   Updated: 2025/07/31 11:58:41 by ljiriste         ###   ########.fr       */
+/*   Updated: 2025/07/31 12:15:01 by ljiriste         ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -53,7 +53,7 @@ t_ft_stat     ft_tree_init(t_tree *tree, size_t el_size);
 t_ft_stat      ft_tree_append_child(t_tree_node *tree_node, void *element);
 t_tree_node    *ft_tree_access_child(t_tree_node *tree_node, size_t i);
 void           *ft_tree_access_data(t_tree_node *tree_node);
-t_ft_stat      ft_tree_erase_child(t_tree_node *tree_node, size_t i, void (*free_el)(void *));
+t_ft_stat      ft_tree_erase_subtree(t_tree_node *tree_node, size_t i, void (*free_el)(void *));
 t_ft_stat      ft_tree_replace_with_child(t_tree_node *tree_node, size_t i, void (*free_el)(void *));
 t_ft_stat      ft_tree_forget_child(t_tree_node *tree_node, size_t i);
 void           ft_tree_free(t_tree *tree, void (*free_el)(void *));