mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
Add array alloc with initial size
This commit is contained in:
parent
f5b91439b2
commit
a1cf2c4602
11
src/array.c
11
src/array.c
@ -25,6 +25,17 @@ void array_alloc(struct array **a, array_dtor dtor)
|
||||
*a = array;
|
||||
}
|
||||
|
||||
void array_alloc_init(struct array **a, array_dtor dtor, int size)
|
||||
{
|
||||
struct array *array;
|
||||
array = xalloc(sizeof(struct array));
|
||||
array->index = 0;
|
||||
array->length = size;
|
||||
array->dtor = dtor;
|
||||
array->data = xalloc(array->length*sizeof(void*));
|
||||
*a = array;
|
||||
}
|
||||
|
||||
void array_free(struct array *array)
|
||||
{
|
||||
if (array->dtor != NULL) {
|
||||
|
||||
@ -9,6 +9,7 @@ typedef struct array array_t;
|
||||
typedef void (*array_dtor)(void*);
|
||||
typedef int (*array_comp)(const void*, const void*);
|
||||
void array_alloc(struct array **array, array_dtor dtor);
|
||||
void array_alloc_init(struct array **array, array_dtor dtor, int size);
|
||||
void array_free(struct array *array);
|
||||
int array_length(struct array *array);
|
||||
void array_push_back(struct array *array, void *value);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user