/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_lstmap_bonus.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: pbonilla +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/12/04 16:06:16 by pbonilla #+# #+# */ /* Updated: 2021/02/01 08:27:04 by pbonilla ### ########.fr */ /* */ /* ************************************************************************** */ #include "libft.h" t_list *ft_lstmap(t_list *l, void *(*f)(void *), void (*del)(void *)) { t_list *new_lst; t_list *new_elem; if (!f) return (NULL); new_lst = NULL; while (l) { if (!(new_elem = ft_lstnew(f(l->content)))) { ft_lstclear(&new_lst, del); return (NULL); } ft_lstadd_back(&new_lst, new_elem); l = l->next; } return (new_lst); }