aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-06-14 16:05:43 +0200
committerCharles <sircharlesaze@gmail.com>2020-06-15 10:42:05 +0200
commit6bedda03a7f4f3c6ea190c506800f3aa1a3ac833 (patch)
treed61df6b35144a89687923f2530c5967fc7a9b2da
parent4f4fa0d6ba8f42da8d72257b50517c222c062499 (diff)
downloadlibft-6bedda03a7f4f3c6ea190c506800f3aa1a3ac833.tar.gz
libft-6bedda03a7f4f3c6ea190c506800f3aa1a3ac833.tar.bz2
libft-6bedda03a7f4f3c6ea190c506800f3aa1a3ac833.zip
Added ft_vecfrom_lst
-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);
+}