libft
Loading...
Searching...
No Matches
vec_new.c
Go to the documentation of this file.
1
/* ************************************************************************** */
2
/* */
3
/* ::: :::::::: */
4
/* vec_new.c :+: :+: :+: */
5
/* +:+ +:+ +:+ */
6
/* By: tspoof <tspoof@student.hive.fi> +#+ +:+ +#+ */
7
/* +#+#+#+#+#+ +#+ */
8
/* Created: 2022/12/12 22:48:37 by tspoof #+# #+# */
9
/* Updated: 2022/12/15 15:11:44 by tspoof ### ########.fr */
10
/* */
11
/* ************************************************************************** */
12
13
#include "
vec.h
"
14
15
// Allocates init_len * elem_size bytes of memory to dst *memory.
16
int
vec_new
(
t_vec
*dst,
size_t
init_len,
size_t
elem_size)
17
{
18
if
(!dst || elem_size == 0)
19
return
(-1);
20
dst->
elem_size
= elem_size;
21
dst->
alloc_size
= elem_size * init_len;
22
dst->
len
= 0;
23
if
(dst->
alloc_size
== 0)
24
return
(-1);
25
dst->
memory
= malloc(dst->
alloc_size
);
26
if
(!dst->
memory
)
27
return
(-1);
28
return
(1);
29
}
s_vec
Definition
vec.h:20
s_vec::alloc_size
size_t alloc_size
Definition
vec.h:23
s_vec::len
size_t len
Definition
vec.h:24
s_vec::memory
unsigned char * memory
Definition
vec.h:21
s_vec::elem_size
size_t elem_size
Definition
vec.h:22
vec.h
vec_new
int vec_new(t_vec *dst, size_t init_len, size_t elem_size)
Creates a new vector.
Definition
vec_new.c:16
src
vec_new.c
Generated by
1.9.7