dynarray: Add pa_dynarray_last()
authorTanu Kaskinen <tanu.kaskinen@linux.intel.com>
Wed, 7 Jan 2015 14:56:47 +0000 (16:56 +0200)
committerDavid Henningsson <david.henningsson@canonical.com>
Thu, 12 Feb 2015 19:33:45 +0000 (20:33 +0100)
src/pulsecore/dynarray.c
src/pulsecore/dynarray.h

index 7d7c09c..944f68d 100644 (file)
@@ -77,6 +77,15 @@ void *pa_dynarray_get(pa_dynarray *array, unsigned 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) {
     pa_assert(array);
 
index 0ca6ed3..082ab1d 100644 (file)
@@ -48,6 +48,9 @@ void pa_dynarray_free(pa_dynarray *array);
 void pa_dynarray_append(pa_dynarray *array, void *p);
 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. */
 void *pa_dynarray_steal_last(pa_dynarray *array);