summaryrefslogtreecommitdiffstats
path: root/libdimension/canvas.c
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@gmail.com>2010-04-01 15:40:19 -0400
committerTavian Barnes <tavianator@gmail.com>2010-04-01 15:40:19 -0400
commitc8ab44d29c3384210cd8f27533abfd0fb2205cc5 (patch)
tree91e09bbe8841e808492dc8e5671a2622aba5a419 /libdimension/canvas.c
parente0313016725bc9f87243571e75b2e77f1cae265e (diff)
downloaddimension-c8ab44d29c3384210cd8f27533abfd0fb2205cc5.tar.xz
Set errno on failures.
Diffstat (limited to 'libdimension/canvas.c')
-rw-r--r--libdimension/canvas.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libdimension/canvas.c b/libdimension/canvas.c
index 14bc156..d18d0b7 100644
--- a/libdimension/canvas.c
+++ b/libdimension/canvas.c
@@ -20,6 +20,7 @@
#include "dimension.h"
#include <pthread.h>
+#include <errno.h>
#include <stdlib.h> /* For malloc(), free() */
/* Allocate a new canvas, of width x and height y */
@@ -41,8 +42,11 @@ dmnsn_new_canvas(unsigned int x, unsigned int y)
canvas->pixels = malloc(sizeof(dmnsn_color)*x*y);
if (!canvas->pixels) {
dmnsn_delete_canvas(canvas);
+ errno = ENOMEM;
return NULL;
}
+ } else {
+ errno = ENOMEM;
}
return canvas;