aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--array.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/array.h b/array.h
index 2383d9b..bf0bfe8 100644
--- a/array.h
+++ b/array.h
@@ -29,6 +29,10 @@ void* array_add_(void* array, size_t item_size);
(array)[array_size((array)) - 1] = value; \
} while (0)
-#define array_last(array) (array_size(array) ? (array)[array_size(array) - 1] : NULL);
+#define array_last(array) (array)[array_size(array) - 1]
+
+#define array_for_all(type__, it__, array__) \
+type__* it__ = array__; type__* end__ = array__ ? array__ + array_size(array__) : NULL; \
+for (; it__ < end__; it__++)
#endif // ARRAY_H_