minishell
vect_remove.c
Go to the documentation of this file.
1
/* ************************************************************************** */
2
/* */
3
/* ::: :::::::: */
4
/* vect_remove.c :+: :+: :+: */
5
/* +:+ +:+ +:+ */
6
/* By: kfujita <kfujita@student.42tokyo.jp> +#+ +:+ +#+ */
7
/* +#+#+#+#+#+ +#+ */
8
/* Created: 2023/01/28 00:36:24 by kfujita #+# #+# */
9
/* Updated: 2023/01/28 01:35:37 by kfujita ### ########.fr */
10
/* */
11
/* ************************************************************************** */
12
13
#include "
ft_vect.h
"
14
#include "../ft_mem/ft_mem.h"
15
16
bool
vect_remove
(
t_vect
*vect,
size_t
index)
17
{
18
if
(vect->
len
<= index)
19
return
(
false
);
20
if
((index + 1) < vect->
len
)
21
ft_memmove
(
vect_at
(vect, index),
vect_at
(vect, index + 1),
22
(vect->
len
- index + 1) * vect->
elemsize
);
23
vect->
len
-= 1;
24
return
(
true
);
25
}
ft_memmove
void * ft_memmove(void *dst, const void *src, size_t n)
Definition:
ft_memmove.c:16
ft_vect.h
vect_at
void * vect_at(const t_vect *vect, size_t index)
Definition:
vect_at.c:15
t_vect
Definition:
ft_vect.h:24
t_vect::elemsize
size_t elemsize
Definition:
ft_vect.h:27
t_vect::len
size_t len
Definition:
ft_vect.h:26
vect_remove
bool vect_remove(t_vect *vect, size_t index)
Definition:
vect_remove.c:16
libft
ft_vect
vect_remove.c
Generated by
1.9.1