Defensive error handling.
authorClaude Heiland-Allen <claude@mathr.co.uk>
Sat, 21 Dec 2013 12:28:16 +0000 (12:28 +0000)
committerClaude Heiland-Allen <claude@mathr.co.uk>
Sat, 21 Dec 2013 12:34:06 +0000 (12:34 +0000)
commit20ff08458c29dc339a363cb155fb2e1a77f5c302
tree2990c92a599a2cc1bcc39afe63e94a3322b1b61a
parent64692c684bf50d22bed4f4cc4303dba070243788
Defensive error handling.

It's possible for calloc() to fail, if we run out of memory.  So
we check the result for null pointers.  We return a null pointer
from our image_new() to indicate failure.  In our image_save()
which previously failed silently, we check for errors and return
an int to indicate success or failure.  In the main render program
we check for errors and print messages to the standard error stream
to let us know what went wrong, and return a status code to the
shell:

    $ ./render 0 0 2 1 directory/nonexistant
    ERROR image save failed
    $
mandelbrot.h
render.c