/* ************************************************************************** */ /* */ /* ::: o_ :::::: ::: */ /* ft_lstmap.c :+: / :+::+: :+: */ /* +:+ > +:++:+ +:+ */ /* By: whaffman +#+ +:+ +#++#++:++#++ */ /* +#+ +#+#+ +#++#+ +#+ \o/ */ /* Created: 2024/10/10 17:00:20 by whaffman #+#+# #+#+# #+# #+# | */ /* Updated: 2024/10/10 17:00:20 by whaffman ### ### ### ### / \ */ /* */ /* ************************************************************************** */ #include "libft.h" t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *)) { t_list *new_list; t_list *new_elem; if (!lst || !f) return (NULL); new_list = NULL; while (lst) { new_elem = ft_lstnew(f(lst->content)); if (!new_elem) { ft_lstclear(&new_list, del); return (NULL); } ft_lstadd_back(&new_list, new_elem); lst = lst->next; } return (new_list); }