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;
|
*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)
|
void array_free(struct array *array)
|
||||||
{
|
{
|
||||||
if (array->dtor != NULL) {
|
if (array->dtor != NULL) {
|
||||||
|
|||||||
@ -9,6 +9,7 @@ typedef struct array array_t;
|
|||||||
typedef void (*array_dtor)(void*);
|
typedef void (*array_dtor)(void*);
|
||||||
typedef int (*array_comp)(const void*, const void*);
|
typedef int (*array_comp)(const void*, const void*);
|
||||||
void array_alloc(struct array **array, array_dtor dtor);
|
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);
|
void array_free(struct array *array);
|
||||||
int array_length(struct array *array);
|
int array_length(struct array *array);
|
||||||
void array_push_back(struct array *array, void *value);
|
void array_push_back(struct array *array, void *value);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user