aboutsummaryrefslogtreecommitdiff
path: root/ft_lstmap.c
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2019-10-08 18:19:36 +0200
committerCharles <sircharlesaze@gmail.com>2019-10-08 18:19:36 +0200
commit4e2e8aac225f2a226573ae36e5327a8c4073bbbc (patch)
tree1946afb4965208899382464910ee1e4a78a65939 /ft_lstmap.c
parentc73c541621f0567c511bbcac4a0bf40e116c53d7 (diff)
downloadlibft-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.c13
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);
}