Index: uspace/lib/c/include/adt/dyn_array.h
===================================================================
--- uspace/lib/c/include/adt/dyn_array.h	(revision 9532981c809e6450c3fe6b10fecbed3683acb15c)
+++ uspace/lib/c/include/adt/dyn_array.h	(revision 68ae40a6a440a4d5bc1f574a8df83e6eef781511)
@@ -68,4 +68,13 @@
 	(*((type *) (dyn_array)->_data + index))
 
+
+/** Access last element
+ *
+ * @return lvalue for the last item
+ */
+#define dyn_array_last(dyn_array, type)                                        \
+	(*((type *) (dyn_array)->_data + ((dyn_array)->size - 1)))
+
+
 /** Insert item at given position, shift rest of array
  *
@@ -77,5 +86,5 @@
  	size_t _index = (index);                                               \
  	dyn_array_t *_da = (dyn_array);                                        \
-	int rc = dyn_array_reserve(_da, _da->size + 1);                       \
+	int rc = dyn_array_reserve(_da, _da->size + 1);                        \
 	if (!rc) {                                                             \
 		_dyn_array_shift(_da, _index, 1);                              \
