/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_lstmap.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: fgras-ca +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/23 18:25:24 by fgras-ca #+# #+# */ /* Updated: 2023/02/23 18:29:44 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ #include "libft.h" t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *)) { t_list *tmp; t_list *res; if (!lst || !f) return (NULL); res = 0; while (lst) { tmp = ft_lstnew((*f)(lst->content)); if (!tmp) { ft_lstclear(&res, del); return (NULL); } ft_lstadd_back(&res, tmp); lst = lst->next; } return (res); }