diff --git a/Makefile b/Makefile index 905db79..2b8b282 100644 --- a/Makefile +++ b/Makefile @@ -6,16 +6,17 @@ # By: lalgarra +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2025/10/03 18:03:12 by lalgarra #+# #+# # -# Updated: 2025/10/09 17:21:34 by lalgarra ### ########.fr # +# Updated: 2025/10/10 20:04:50 by lalgarra ### ########.fr # # # # **************************************************************************** # # Location of your libft.a; it must already exist -LIBDIR = ../repo_libft_algarra -#LIBDIR = ../vogsphere_repo +#LIBDIR = ../repo_libft_algarra +LIBDIR = ../vogsphere_repo CFLAGS += -Wall -Wextra -Werror -g3 -iquote $(LIBDIR) \ -# -fsanitize=address -Wanalyzer-malloc-leak + -O0 +# -fsanitize=address TESTS := ft_isalpha_test ft_isdigit_test ft_isalnum_test ft_isascii_test \ ft_isprint_test ft_toupper_test ft_tolower_test ft_strlen_test \ @@ -23,7 +24,10 @@ TESTS := ft_isalpha_test ft_isdigit_test ft_isalnum_test ft_isascii_test \ ft_memmove_test ft_strlcpy_test ft_strlcat_test ft_strchr_test \ ft_strrchr_test ft_strncmp_test ft_memcmp_test ft_strnstr_test \ ft_atoi_test ft_substr_test ft_strjoin_test ft_strtrim_test \ - ft_split_test + ft_split_test \ + \ + ft_lstclear_test + %_test : %_test.c $(CC) $(CFLAGS) $*_test.c -L$(LIBDIR) -lft -o $*_test diff --git a/ft_lstclear_test.c b/ft_lstclear_test.c new file mode 100644 index 0000000..bd0bc1d --- /dev/null +++ b/ft_lstclear_test.c @@ -0,0 +1,74 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_lstclear_test.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: lalgarra + +static void displaycontent(void *content) +{ + printf("content points to %p and is ", content); + if (content != NULL) + printf("not NULL"); + //printf("not NULL (%i)", *(int*)content); + else + printf("NULL"); +} + +static void del_content(void *content) +{ + printf("del_content(): "); + displaycontent(content); + printf("\n"); +} + +static void display(t_list *node, int idx) +{ + printf("node [%i] is ", idx); + if (node == NULL) + printf("NULL"); + else + { + printf("not NULL (%p)", (void *)node); + printf(", "); + displaycontent(node->content); + printf(", next is "); + if (node->next == NULL) + printf("NULL"); + else + printf("not NULL (%p)", (void *)node->next); + } + printf("\n"); +} + +int main(void) +{ + int ar[]={1, 2, 3, 4, 5}; + t_list **list; + t_list *node1; + t_list *node2; + + node1 = ft_lstnew((void *)ar); + node2 = ft_lstnew((void *)(ar + 1)); + display(node1, -1); + display(node2, -1); + list = malloc(sizeof(t_list *)); + if (list != NULL) + { + ft_lstadd_front(list, node1); + ft_lstadd_front(list, node2); + printf("My list has %i elements.\n", ft_lstsize(*list)); + ft_lstclear(list, del_content); + display(node1, -1); + display(node2, -1); + free(list); + } +}