dynarray: Add pa_dynarray_last()

This commit is contained in:
Tanu Kaskinen 2015-01-07 16:56:47 +02:00 committed by David Henningsson
parent b094c92a01
commit e5cf7e4a07
2 changed files with 12 additions and 0 deletions

View file

@ -77,6 +77,15 @@ void *pa_dynarray_get(pa_dynarray *array, unsigned i) {
return array->data[i]; return array->data[i];
} }
void *pa_dynarray_last(pa_dynarray *array) {
pa_assert(array);
if (array->n_entries == 0)
return NULL;
return array->data[array->n_entries - 1];
}
void *pa_dynarray_steal_last(pa_dynarray *array) { void *pa_dynarray_steal_last(pa_dynarray *array) {
pa_assert(array); pa_assert(array);

View file

@ -48,6 +48,9 @@ void pa_dynarray_free(pa_dynarray *array);
void pa_dynarray_append(pa_dynarray *array, void *p); void pa_dynarray_append(pa_dynarray *array, void *p);
void *pa_dynarray_get(pa_dynarray *array, unsigned i); void *pa_dynarray_get(pa_dynarray *array, unsigned i);
/* Returns the last element, or NULL if the array is empty. */
void *pa_dynarray_last(pa_dynarray *array);
/* Returns the removed item, or NULL if the array is empty. */ /* Returns the removed item, or NULL if the array is empty. */
void *pa_dynarray_steal_last(pa_dynarray *array); void *pa_dynarray_steal_last(pa_dynarray *array);