diff --git a/include/acl/array.h b/include/acl/array.h index ebe7354..8787265 100644 --- a/include/acl/array.h +++ b/include/acl/array.h @@ -1,6 +1,7 @@ #ifndef array_h #define array_h #include +size_t acl_arraylist_len(void *arraylist); void acl_arraylist_free(void *arraylist); void* acl_arraylist_remove(void *arraylist_void, size_t index); void* acl_arraylist_create(size_t array_size, size_t sizeof_one_element); diff --git a/src/array.c b/src/array.c index 20b193e..d7a808a 100644 --- a/src/array.c +++ b/src/array.c @@ -54,3 +54,7 @@ void* acl_arraylist_remove(void *arraylist_void, size_t index) { } return arraylist; } + +size_t acl_arraylist_len(void *arraylist) { + return ((union arraylist_meta*)arraylist - 1)->len; +}