From 7a21db5914dd7a5666e603d66ed3948b659ba2fc Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Sat, 8 May 2010 23:21:48 -0600 Subject: New DMNSN_ARRAY_FOREACH() macro, faster than iterating with dmnsn_array_get(). --- libdimension/scene.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'libdimension/scene.c') diff --git a/libdimension/scene.c b/libdimension/scene.c index 177e7fe..58d2eda 100644 --- a/libdimension/scene.c +++ b/libdimension/scene.c @@ -50,17 +50,11 @@ void dmnsn_delete_scene(dmnsn_scene *scene) { if (scene) { - dmnsn_light *light; - dmnsn_object *object; - - for (size_t i = 0; i < dmnsn_array_size(scene->lights); ++i) { - dmnsn_array_get(scene->lights, i, &light); - dmnsn_delete_light(light); + DMNSN_ARRAY_FOREACH (dmnsn_light **, light, scene->lights) { + dmnsn_delete_light(*light); } - - for (size_t i = 0; i < dmnsn_array_size(scene->objects); ++i) { - dmnsn_array_get(scene->objects, i, &object); - dmnsn_delete_object(object); + DMNSN_ARRAY_FOREACH (dmnsn_object **, object, scene->objects) { + dmnsn_delete_object(*object); } dmnsn_delete_array(scene->lights); -- cgit v1.2.3