diff options
Diffstat (limited to 'ft_lstmap_bonus.c')
| -rw-r--r-- | ft_lstmap_bonus.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/ft_lstmap_bonus.c b/ft_lstmap_bonus.c index 4cb195f..3a0247a 100644 --- a/ft_lstmap_bonus.c +++ b/ft_lstmap_bonus.c @@ -6,7 +6,7 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/09 09:03:57 by cacharle #+# #+# */ -/* Updated: 2019/10/09 09:09:13 by cacharle ### ########.fr */ +/* Updated: 2019/10/09 12:41:39 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,14 +16,11 @@ 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); - } + if (lst == NULL) + return (NULL); + if ((mapped = ft_lstnew(lst->content)) == NULL) + return (NULL); + mapped->next = ft_lstmap(lst->next, f); return (mapped); } |
