From 4cfca05bbf9e75ae8af4c98b0fb646bbb621af61 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Luk=C3=A1=C5=A1=20Ji=C5=99i=C5=A1t=C4=9B?= Date: Thu, 31 Jul 2025 12:21:22 +0200 Subject: [PATCH] Rename ft_tree_erase_child to ft_tree_erase_subtree --- Makefile | 6 +++--- ft_struct/ft_tree_erase_child.c | 16 ---------------- ft_struct/ft_tree_erase_subtree.c | 16 ++++++++++++++++ ft_struct/ft_tree_free.c | 2 +- inc/ft_struct.h | 4 ++-- 5 files changed, 22 insertions(+), 22 deletions(-) delete mode 100644 ft_struct/ft_tree_erase_child.c create mode 100644 ft_struct/ft_tree_erase_subtree.c diff --git a/Makefile b/Makefile index 9e93dde..95d82d8 100644 --- 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 index 1151451..0000000 --- a/ft_struct/ft_tree_erase_child.c +++ /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 index 0000000..5fe07f3 --- /dev/null +++ b/ft_struct/ft_tree_erase_subtree.c @@ -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)); +} diff --git a/ft_struct/ft_tree_free.c b/ft_struct/ft_tree_free.c index 74e0b5b..2de8e2b 100644 --- a/ft_struct/ft_tree_free.c +++ b/ft_struct/ft_tree_free.c @@ -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); diff --git a/inc/ft_struct.h b/inc/ft_struct.h index 151bce4..21c8f38 100644 --- a/inc/ft_struct.h +++ b/inc/ft_struct.h @@ -6,7 +6,7 @@ /* By: ljiriste +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* 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 *)); -- 2.30.2