aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/libft_lst.h5
-rw-r--r--src/lst/ft_lstdestroy.c10
-rw-r--r--src/lst/ft_lstpush_front_node.c23
-rw-r--r--src/vec/ft_vecreserve.c4
4 files changed, 34 insertions, 8 deletions
diff --git a/include/libft_lst.h b/include/libft_lst.h
index 09e7fb4..0dc1e7c 100644
--- a/include/libft_lst.h
+++ b/include/libft_lst.h
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/01/31 10:36:39 by cacharle #+# #+# */
-/* Updated: 2020/08/20 13:10:57 by charles ### ########.fr */
+/* Updated: 2020/08/20 14:40:01 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -39,12 +39,13 @@ typedef void (*t_ftdel_func)(void *);
t_ftlst *ft_lstnew(void const *data);
int ft_lstsize(t_ftlst *lst);
void ft_lstpush_front(t_ftlst **alst, t_ftlst *new);
+t_ftlst *ft_lstpush_front_node(t_ftlst **alst, void *data);
void ft_lstpush_back(t_ftlst **alst, t_ftlst *new);
void ft_lstpop_front(t_ftlst **lst, void (*del)(void *));
void ft_lstpop_back(t_ftlst **lst, void (*del)(void *));
t_ftlst *ft_lstlast(t_ftlst *lst);
void ft_lstdelone(t_ftlst *lst, void (*del)(void *));
-void ft_lstdestroy(t_ftlst **lst, void (*del)(void *));
+void *ft_lstdestroy(t_ftlst **lst, void (*del)(void *));
void ft_lstiter(t_ftlst *lst, void (*f)(void *));
t_ftlst *ft_lstmap(t_ftlst *lst, void *(*f)(void *),
t_ftdel_func del);
diff --git a/src/lst/ft_lstdestroy.c b/src/lst/ft_lstdestroy.c
index 35da2a5..2af6fb7 100644
--- a/src/lst/ft_lstdestroy.c
+++ b/src/lst/ft_lstdestroy.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/09 09:02:39 by cacharle #+# #+# */
-/* Updated: 2019/11/20 04:02:37 by cacharle ### ########.fr */
+/* Updated: 2020/08/20 14:36:17 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -15,15 +15,17 @@
/*
** \brief Destroy a list and set his pointer to NULL
** \param del Delete Function for data of each node
+** \return returns NULL
*/
-void ft_lstdestroy(t_ftlst **lst, void (*del)(void *))
+void *ft_lstdestroy(t_ftlst **lst, void (*del)(void *))
{
if (lst == NULL)
- return ;
+ return (NULL);
if (*lst == NULL)
- return ;
+ return (NULL);
ft_lstdestroy(&((*lst)->next), del);
ft_lstdelone(*lst, del);
*lst = NULL;
+ return (NULL);
}
diff --git a/src/lst/ft_lstpush_front_node.c b/src/lst/ft_lstpush_front_node.c
new file mode 100644
index 0000000..f6ff694
--- /dev/null
+++ b/src/lst/ft_lstpush_front_node.c
@@ -0,0 +1,23 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* ft_lstpush_front_node.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <me@cacharle.xyz> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/08/20 14:38:18 by charles #+# #+# */
+/* Updated: 2020/08/20 14:41:14 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_lst.h"
+
+t_ftlst *ft_lstpush_front_node(t_ftlst **lst, void *data)
+{
+ t_ftlst *pushed;
+
+ if (data == NULL || (pushed = ft_lstnew(data)) == NULL)
+ return (NULL);
+ ft_lstpush_front(lst, pushed);
+ return (*lst);
+}
diff --git a/src/vec/ft_vecreserve.c b/src/vec/ft_vecreserve.c
index c2e7bcc..105eb16 100644
--- a/src/vec/ft_vecreserve.c
+++ b/src/vec/ft_vecreserve.c
@@ -6,7 +6,7 @@
/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/07/15 17:22:08 by charles #+# #+# */
-/* Updated: 2020/07/15 18:30:58 by charles ### ########.fr */
+/* Updated: 2020/08/20 23:21:19 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -19,7 +19,7 @@
** \return The Vector or NULL on error
*/
-t_ftvec *ft_vecreserve(t_ftvec *vec, size_t capacity)
+t_ftvec *ft_vecreserve(t_ftvec *vec, size_t capacity)
{
while (vec->capacity < capacity)
{