diff options
| -rw-r--r-- | include/libft_vec.h | 4 | ||||
| -rw-r--r-- | src/vec/ft_vecfrom_lst.c | 29 |
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); +} |
