diff --git a/ft_lstadd_back_bonus.c b/ft_lstadd_back_bonus.c index 69752fa..612037e 100644 --- a/ft_lstadd_back_bonus.c +++ b/ft_lstadd_back_bonus.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/09 15:06:49 by dgaillet #+# #+# */ -/* Updated: 2025/11/10 18:18:38 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 15:20:02 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -21,8 +21,6 @@ void ft_lstadd_back(t_list **lst, t_list *new) *lst = new; return ; } - temp = *lst; - while (temp->next) - temp = temp->next; + temp = ft_lstlast(*lst); temp->next = new; } diff --git a/ft_lstadd_front_bonus.c b/ft_lstadd_front_bonus.c index f722500..930eed9 100644 --- a/ft_lstadd_front_bonus.c +++ b/ft_lstadd_front_bonus.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/09 14:36:17 by dgaillet #+# #+# */ -/* Updated: 2025/11/10 18:18:46 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 15:26:21 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -14,6 +14,19 @@ void ft_lstadd_front(t_list **lst, t_list *new) { + if (!new || !lst) + return ; new->next = *lst; *lst = new; } + +int main(void) +{ + t_list *ptr; + t_list *lst[1]; + + ptr = ft_lstnew(NULL); + lst[0] = NULL; + ft_lstadd_front(lst, ptr); + free(ptr); +} diff --git a/ft_lstlast_bonus.c b/ft_lstlast_bonus.c index b6b69b0..5bdd57c 100644 --- a/ft_lstlast_bonus.c +++ b/ft_lstlast_bonus.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/09 15:03:19 by dgaillet #+# #+# */ -/* Updated: 2025/11/10 18:19:16 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 15:18:37 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -14,9 +14,17 @@ t_list *ft_lstlast(t_list *lst) { + size_t size; + size_t i; + if (!lst) return (NULL); - while (lst->next) + size = ft_lstsize(lst); + i = 1; + while (i < size) + { lst = lst->next; + i++; + } return (lst); }