aboutsummaryrefslogtreecommitdiff
path: root/c12/ex04/ft_list_push_back.c
diff options
context:
space:
mode:
Diffstat (limited to 'c12/ex04/ft_list_push_back.c')
-rw-r--r--c12/ex04/ft_list_push_back.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/c12/ex04/ft_list_push_back.c b/c12/ex04/ft_list_push_back.c
index db4fdb0..b4c486b 100644
--- a/c12/ex04/ft_list_push_back.c
+++ b/c12/ex04/ft_list_push_back.c
@@ -6,23 +6,26 @@
/* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/07/09 17:18:46 by cacharle #+# #+# */
-/* Updated: 2019/07/17 18:04:28 by cacharle ### ########.fr */
+/* Updated: 2019/07/23 15:42:15 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
+#include <stdlib.h>
#include "ft_list.h"
-void ft_list_push_back(t_list **begin_list, void *data)
+void ft_list_push_back(t_list **begin_list, void *data)
{
t_list *new_rear;
+ t_list *cursor;
new_rear = ft_create_elem(data);
- if (!*begin_list)
+ if (*begin_list == NULL)
{
- (*begin_list) = new_rear;
+ *begin_list = new_rear;
return ;
}
- while ((*begin_list)->next)
- *begin_list = (*begin_list)->next;
- (*begin_list)->next = new_rear;
+ cursor = *begin_list;
+ while (cursor->next)
+ cursor = cursor->next;
+ cursor->next = new_rear;
}