diff options
| author | Charles <sircharlesaze@gmail.com> | 2019-10-08 18:19:36 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2019-10-08 18:19:36 +0200 |
| commit | 4e2e8aac225f2a226573ae36e5327a8c4073bbbc (patch) | |
| tree | 1946afb4965208899382464910ee1e4a78a65939 /ft_lstmap.c | |
| parent | c73c541621f0567c511bbcac4a0bf40e116c53d7 (diff) | |
| download | libft-4e2e8aac225f2a226573ae36e5327a8c4073bbbc.tar.gz libft-4e2e8aac225f2a226573ae36e5327a8c4073bbbc.tar.bz2 libft-4e2e8aac225f2a226573ae36e5327a8c4073bbbc.zip | |
Added bonus functions WIP
Diffstat (limited to 'ft_lstmap.c')
| -rw-r--r-- | ft_lstmap.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/ft_lstmap.c b/ft_lstmap.c index 7c1a89b..41a7e19 100644 --- a/ft_lstmap.c +++ b/ft_lstmap.c @@ -1,6 +1,17 @@ +#include <stdlib.h> #include "libft.h" -t_list * ft_lstmap(t_list *lst, t_list *(*f)(t_list *elem)) +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); } |
