summaryrefslogtreecommitdiffstats
path: root/libft/ft_lstclear_bonus.c
diff options
context:
space:
mode:
Diffstat (limited to 'libft/ft_lstclear_bonus.c')
-rw-r--r--libft/ft_lstclear_bonus.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/libft/ft_lstclear_bonus.c b/libft/ft_lstclear_bonus.c
new file mode 100644
index 0000000..8d97b9c
--- /dev/null
+++ b/libft/ft_lstclear_bonus.c
@@ -0,0 +1,34 @@
+/* ************************************************************************** */
+/* LE - / */
+/* / */
+/* ft_lstclear.c .:: .:/ . .:: */
+/* +:+:+ +: +: +:+:+ */
+/* By: rbousset <marvin@le-101.fr> +:+ +: +: +:+ */
+/* #+# #+ #+ #+# */
+/* Created: 2019/10/13 10:19:53 by rbousset #+# ## ## #+# */
+/* Updated: 2019/10/13 13:52:03 by rbousset ### #+. /#+ ###.fr */
+/* / */
+/* / */
+/* ************************************************************************** */
+
+#include "libft.h"
+#include <stdlib.h>
+
+void
+ ft_lstclear(t_list **lst, void (*del)(void *))
+{
+ t_list *tmp;
+ t_list *renext;
+
+ if (!lst)
+ return ;
+ tmp = *lst;
+ while (tmp)
+ {
+ renext = tmp->next;
+ del(tmp->content);
+ free(tmp);
+ tmp = renext;
+ }
+ *lst = NULL;
+}