t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *))
#include "libft.h"
t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *))
{
t_list *new;
t_list *result;
void *temp;
if (lst == NULL)
return (0);
result = 0;
while (lst != NULL)
{
temp = f(lst->content);
new = ft_lstnew(temp);
if (new == NULL)
{
ft_lstclear(&result, del);
return (0);
}
ft_lstadd_back(&result, new);
lst = lst->next;
}
new = 0;
return (result);
}