From c5bdc376a5f60fd9ed96aa69f78bc4f073215254 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 13:28:51 +0200 Subject: [PATCH] Add the ft_tree_set_data function --- Makefile | 1 + ft_struct/ft_tree_set_data.c | 8 ++++++++ inc/ft_struct.h | 3 ++- 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 ft_struct/ft_tree_set_data.c diff --git a/Makefile b/Makefile index 95d82d8..e2964d5 100644 --- a/Makefile +++ b/Makefile @@ -25,6 +25,7 @@ SRCstruct:= ft_stack_free.c \ ft_tree_append_child.c \ ft_tree_access_child.c \ ft_tree_access_data.c \ + ft_tree_set_data.c \ ft_tree_erase_subtree.c \ ft_tree_replace_with_child.c \ ft_tree_forget_child.c \ diff --git a/ft_struct/ft_tree_set_data.c b/ft_struct/ft_tree_set_data.c new file mode 100644 index 0000000..f71992f --- /dev/null +++ b/ft_struct/ft_tree_set_data.c @@ -0,0 +1,8 @@ +#include "ft_struct.h" +#include "libft.h" + +void ft_tree_set_data(t_tree_node *tree_node, void *element) +{ + ft_memcpy(&tree_node->data, element, tree_node->children.el_size - sizeof(t_tree_node)); + return ; +} diff --git a/inc/ft_struct.h b/inc/ft_struct.h index 21c8f38..23ff7a3 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 12:15:01 by ljiriste ### ########.fr */ +/* Updated: 2025/07/31 13:25:53 by ljiriste ### ########.fr */ /* */ /* ************************************************************************** */ @@ -53,6 +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); +void ft_tree_set_data(t_tree_node *tree_node, void *element); 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); -- 2.30.2