diff options
Diffstat (limited to 'c12/ex04/ft_list_push_back.c')
| -rw-r--r-- | c12/ex04/ft_list_push_back.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/c12/ex04/ft_list_push_back.c b/c12/ex04/ft_list_push_back.c index cfde9a8..db4fdb0 100644 --- a/c12/ex04/ft_list_push_back.c +++ b/c12/ex04/ft_list_push_back.c @@ -6,7 +6,7 @@ /* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/09 17:18:46 by cacharle #+# #+# */ -/* Updated: 2019/07/09 17:18:48 by cacharle ### ########.fr */ +/* Updated: 2019/07/17 18:04:28 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,12 +14,15 @@ void ft_list_push_back(t_list **begin_list, void *data) { - if (*begin_list) - while (*begin_list->next) - *begin_list = *begin_list->next; - elem = ft_create_elem(data); - if (*begin_list) - *begin_list->next = elem; - else - *begin_list = elem; + t_list *new_rear; + + new_rear = ft_create_elem(data); + if (!*begin_list) + { + (*begin_list) = new_rear; + return ; + } + while ((*begin_list)->next) + *begin_list = (*begin_list)->next; + (*begin_list)->next = new_rear; } |
