diff options
Diffstat (limited to 'libft/src/vec/ft_vectake.c')
| -rw-r--r-- | libft/src/vec/ft_vectake.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/libft/src/vec/ft_vectake.c b/libft/src/vec/ft_vectake.c new file mode 100644 index 0000000..25a9038 --- /dev/null +++ b/libft/src/vec/ft_vectake.c @@ -0,0 +1,26 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_vectake.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/06/09 13:27:19 by charles #+# #+# */ +/* Updated: 2020/06/09 13:29:02 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_vec.h" + +void *ft_vectake(t_ftvec *vec, size_t i) +{ + void *taken; + + if (vec->size == 0 || i > vec->size - 1) + return (NULL); + taken = vec->data[i]; + ft_memmove(vec->data + i, vec->data + i + 1, + (vec->size - i - 1) * sizeof(void*)); + vec->size--; + return (taken); +} |
