From 2b087cb45ae91f90492a935625570d7d42ee3ecb Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Wed, 7 Apr 2010 14:26:15 -0400 Subject: New dmnsn_malloc() function, and friends. I'm tired of checking for malloc failures everywhere, considering it never happens. So just bail out whenever it does. A lot of stuff is guaranteed to succeed if it returns now. --- tests/libdimension/gl.c | 10 ------- tests/libdimension/png.c | 10 +------ tests/libdimension/tests.c | 69 +--------------------------------------------- 3 files changed, 2 insertions(+), 87 deletions(-) (limited to 'tests') diff --git a/tests/libdimension/gl.c b/tests/libdimension/gl.c index 00f9819..a2538e3 100644 --- a/tests/libdimension/gl.c +++ b/tests/libdimension/gl.c @@ -33,10 +33,6 @@ main() { /* Create the default test scene */ scene = dmnsn_new_default_scene(); - if (!scene) { - fprintf(stderr, "--- Couldn't create default scene! ---\n"); - return EXIT_FAILURE; - } /* Optimize the canvas for GL drawing */ if (dmnsn_gl_optimize_canvas(scene->canvas) != 0) { @@ -59,12 +55,6 @@ main() { printf("Rendering scene\n"); progress = dmnsn_raytrace_scene_async(scene); - if (!progress) { - dmnsn_delete_display(display); - dmnsn_delete_scene(scene); - fprintf(stderr, "--- Couldn't start raytracing worker thread! ---\n"); - return EXIT_FAILURE; - } /* Display the scene as it's rendered */ while (dmnsn_get_progress(progress) < 1.0) { diff --git a/tests/libdimension/png.c b/tests/libdimension/png.c index f0878dc..2073310 100644 --- a/tests/libdimension/png.c +++ b/tests/libdimension/png.c @@ -36,10 +36,6 @@ main() { /* Allocate our default scene */ scene = dmnsn_new_default_scene(); - if (!scene) { - fprintf(stderr, "--- Allocation of default scene failed! ---\n"); - return EXIT_FAILURE; - } /* Optimize the canvas for PNG export */ if (dmnsn_png_optimize_canvas(scene->canvas) != 0) { @@ -51,11 +47,7 @@ main() { /* Render scene */ printf("Rendering scene\n"); - if (dmnsn_raytrace_scene(scene) != 0) { - dmnsn_delete_scene(scene); - fprintf(stderr, "--- Raytracing failed! ---\n"); - return EXIT_FAILURE; - } + dmnsn_raytrace_scene(scene); /* Write the image to PNG */ diff --git a/tests/libdimension/tests.c b/tests/libdimension/tests.c index b23c0df..cf8e752 100644 --- a/tests/libdimension/tests.c +++ b/tests/libdimension/tests.c @@ -24,9 +24,6 @@ dmnsn_new_default_scene() { /* Allocate a new scene */ dmnsn_scene *scene = dmnsn_new_scene(); - if (!scene) { - return NULL; - } /* Default finish */ scene->default_texture->finish = dmnsn_new_ambient_finish( @@ -40,10 +37,6 @@ dmnsn_new_default_scene() dmnsn_new_phong_finish(0.2, 40.0), scene->default_texture->finish ); - if (!scene->default_texture->finish) { - dmnsn_delete_scene(scene); - return NULL; - } /* Background color */ scene->background = dmnsn_color_mul(0.1, dmnsn_blue); @@ -51,10 +44,6 @@ dmnsn_new_default_scene() /* Allocate a canvas */ scene->canvas = dmnsn_new_canvas(768, 480); - if (!scene->canvas) { - dmnsn_delete_scene(scene); - return NULL; - } /* Set up the transformation matrix for the perspective camera */ dmnsn_matrix trans = dmnsn_scale_matrix( @@ -73,81 +62,32 @@ dmnsn_new_default_scene() /* Create a perspective camera */ scene->camera = dmnsn_new_perspective_camera(); - if (!scene->camera) { - dmnsn_delete_scene(scene); - return NULL; - } dmnsn_set_perspective_camera_trans(scene->camera, trans); /* Now make our objects */ dmnsn_object *sphere = dmnsn_new_sphere(); - if (!sphere) { - dmnsn_delete_scene(scene); - return NULL; - } - sphere->texture = dmnsn_new_texture(); - if (!sphere->texture) { - dmnsn_delete_scene(scene); - return NULL; - } - sphere->texture->pigment = dmnsn_new_solid_pigment(dmnsn_yellow); - if (!sphere->texture->pigment) { - dmnsn_delete_scene(scene); - return NULL; - } - sphere->trans = dmnsn_scale_matrix(dmnsn_new_vector(1.25, 1.25, 1.25)); dmnsn_object *cube = dmnsn_new_cube(); - if (!cube) { - dmnsn_delete_object(sphere); - dmnsn_delete_scene(scene); - return NULL; - } - cube->texture = dmnsn_new_texture(); - if (!cube->texture) { - dmnsn_delete_object(sphere); - dmnsn_delete_scene(scene); - return NULL; - } dmnsn_color cube_color = dmnsn_magenta; cube_color.filter = 0.25; cube_color.trans = 0.5; cube->texture->pigment = dmnsn_new_solid_pigment(cube_color); - if (!cube->texture->pigment) { - dmnsn_delete_object(sphere); - dmnsn_delete_scene(scene); - return NULL; - } dmnsn_color reflect = dmnsn_color_mul(0.5, dmnsn_white); cube->texture->finish = dmnsn_new_reflective_finish(reflect, reflect, 1.0); - if (!cube->texture->finish) { - dmnsn_delete_object(sphere); - dmnsn_delete_scene(scene); - return NULL; - } cube->interior = dmnsn_new_interior(); - if (!cube->interior) { - dmnsn_delete_object(sphere); - dmnsn_delete_scene(scene); - return NULL; - } cube->interior->ior = 1.1; cube->trans = dmnsn_rotation_matrix(dmnsn_new_vector(0.75, 0.0, 0.0)); dmnsn_object *csg = dmnsn_new_csg_difference(cube, sphere); - if (!csg) { - dmnsn_delete_scene(scene); - return NULL; - } dmnsn_array_push(scene->objects, &csg); /* Now make a light */ @@ -156,10 +96,6 @@ dmnsn_new_default_scene() dmnsn_new_vector(-15.0, 20.0, 10.0), dmnsn_cyan ); - if (!light) { - dmnsn_delete_scene(scene); - return NULL; - } dmnsn_array_push(scene->lights, &light); return scene; @@ -186,10 +122,7 @@ dmnsn_new_display(const dmnsn_canvas *canvas) XSetWindowAttributes swa; dmnsn_display *display; - display = malloc(sizeof(dmnsn_display)); - if (!display) { - return NULL; - } + display = dmnsn_malloc(sizeof(dmnsn_display)); display->dpy = NULL; display->win = 0; -- cgit v1.2.3