aboutsummaryrefslogtreecommitdiff
path: root/ft_lstmap.c
blob: 41a7e19b0e786433eb8eb30440a6154bfa1cfec6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdlib.h>
#include "libft.h"

t_list *ft_lstmap(t_list *lst, t_list *(*f)(t_list *))
{
    t_list *mapped;
    t_list *tmp;

    while (lst != NULL)
    {
        tmp = ft_lstnew(lst->content);
        tmp->next = lst->next;
        tmp = (*f)(tmp);
        ft_lstadd_back(&mapped, tmp);
    }
    return (mapped);
}