aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/libft_vec.h4
-rw-r--r--src/vec/ft_vecfrom_lst.c29
2 files changed, 32 insertions, 1 deletions
diff --git a/include/libft_vec.h b/include/libft_vec.h
index 1503f14..ded2a1f 100644
--- a/include/libft_vec.h
+++ b/include/libft_vec.h
@@ -6,7 +6,7 @@
/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/04/01 18:57:16 by charles #+# #+# */
-/* Updated: 2020/06/09 13:53:48 by charles ### ########.fr */
+/* Updated: 2020/06/14 16:02:32 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -22,6 +22,7 @@
# include "libft_def.h"
# include "libft_mem.h"
# include "libft_algo.h"
+# include "libft_lst.h"
/*
** \brief Vector struct
@@ -51,5 +52,6 @@ t_ftvec *ft_vecinsert(t_ftvec *vec, size_t i, void *elem);
t_ftvec *ft_vecinsert_safe(t_ftvec *vec, size_t i, void *elem);
void ft_vecsort(t_ftvec *vec, t_ftcompar_func cmp);
void **ft_vecunwrap(t_ftvec *vec);
+t_ftvec *ft_vecfrom_lst(t_ftlst *lst);
#endif
diff --git a/src/vec/ft_vecfrom_lst.c b/src/vec/ft_vecfrom_lst.c
new file mode 100644
index 0000000..4a16e4c
--- /dev/null
+++ b/src/vec/ft_vecfrom_lst.c
@@ -0,0 +1,29 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* ft_vecfrom_lst.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/06/14 15:59:24 by charles #+# #+# */
+/* Updated: 2020/06/15 09:48:48 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_vec.h"
+
+t_ftvec *ft_vecfrom_lst(t_ftlst *lst)
+{
+ t_ftvec *vec;
+ t_ftlst *curr;
+
+ if ((vec = ft_vecnew(ft_lstsize(lst))) == NULL)
+ return (NULL);
+ curr = lst;
+ while (curr != NULL)
+ {
+ ft_vecpush(vec, curr->data);
+ curr = curr->next;
+ }
+ return (vec);
+}