/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/03/10 16:26:23 by dkaiser #+# #+# */
-/* Updated: 2024/03/10 16:35:46 by dkaiser ### ########.fr */
+/* Updated: 2024/03/11 12:48:24 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/03/10 16:45:21 by dkaiser #+# #+# */
-/* Updated: 2024/03/10 19:03:00 by dkaiser ### ########.fr */
+/* Updated: 2024/03/11 13:25:08 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *))
{
t_list *result;
- t_list *new;
+ t_list *cur_new;
+ void *content;
if (!lst || !f || !del)
return (NULL);
- new = ft_lstnew(f(lst->content));
- if (!new)
+ content = f(lst->content);
+ cur_new = ft_lstnew(content);
+ if (!cur_new)
{
- free(new);
+ del(content);
return (NULL);
}
- result = new;
+ result = cur_new;
+ if (!lst->next)
+ return (result);
lst = lst->next;
while (lst)
{
- new->next = ft_lstnew(f(lst->content));
- if (!new->next)
+ content = f(lst->content);
+ cur_new->next = ft_lstnew(content);
+ if (!cur_new->next)
{
- ft_lstclear(&new, del);
+ del(content);
+ ft_lstclear(&result, del);
return (NULL);
}
- new = new->next;
+ if (!lst->next)
+ return (result);
lst = lst->next;
+ cur_new = cur_new->next;
}
- // new->next = NULL;
return (result);
}
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/03/10 14:57:39 by dkaiser #+# #+# */
-/* Updated: 2024/03/10 15:40:57 by dkaiser ### ########.fr */
+/* Updated: 2024/03/11 12:52:00 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
result = malloc(sizeof(t_list));
if (!result)
- return (0);
+ return (NULL);
result->content = content;
result->next = NULL;
return (result);
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/03/10 16:37:54 by dkaiser #+# #+# */
-/* Updated: 2024/03/10 17:17:50 by dkaiser ### ########.fr */
+/* Updated: 2024/03/11 13:11:23 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */