From a4eb36a5df16fadfb0d86167acaaef7bd60daf7c Mon Sep 17 00:00:00 2001
From: Tavian Barnes <tavianator@gmail.com>
Date: Wed, 10 Feb 2010 11:42:56 -0500
Subject: Use dmnsn_assert for array range checks.

---
 libdimension/dimension/array.h | 17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)

(limited to 'libdimension')

diff --git a/libdimension/dimension/array.h b/libdimension/dimension/array.h
index c1e28cd..6ac5957 100644
--- a/libdimension/dimension/array.h
+++ b/libdimension/dimension/array.h
@@ -97,10 +97,7 @@ dmnsn_array_resize(dmnsn_array *array, size_t length)
 DMNSN_INLINE void
 dmnsn_array_get(const dmnsn_array *array, size_t i, void *obj)
 {
-  if (i >= dmnsn_array_size(array)) {
-    /* Range check failed */
-    dmnsn_error(DMNSN_SEVERITY_HIGH, "Array index out of bounds.");
-  }
+  dmnsn_assert(i < dmnsn_array_size(array), "Array index out of bounds.");
   memcpy(obj, (char *)array->ptr + array->obj_size*i, array->obj_size);
 }
 
@@ -139,11 +136,7 @@ DMNSN_INLINE void
 dmnsn_array_pop(dmnsn_array *array, void *obj)
 {
   size_t size = dmnsn_array_size(array);
-  if (size <= 0) {
-    /* Range check failed */
-    dmnsn_error(DMNSN_SEVERITY_HIGH, "Array is empty.");
-  }
-
+  dmnsn_assert(size > 0, "Array is empty.");
   dmnsn_array_get(array, size - 1, obj); /* Copy the object */
   dmnsn_array_resize(array, size - 1);   /* Shrink the array */
 }
@@ -170,11 +163,7 @@ DMNSN_INLINE void
 dmnsn_array_remove(dmnsn_array *array, size_t i)
 {
   size_t size = dmnsn_array_size(array);
-  if (i >= size) {
-    /* Range check failed */
-    dmnsn_error(DMNSN_SEVERITY_HIGH, "Array index out of bounds.");
-  }
-
+  dmnsn_assert(i < size, "Array index out of bounds.");
   /* Move the array elements after `i' 1 to the left */
   memmove((char *)array->ptr + array->obj_size*i,
           (char *)array->ptr + array->obj_size*(i + 1),
-- 
cgit v1.2.3