From 32c96afc3c2c78e15c0e05560b4e08f8cdc2437e Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sun, 5 Feb 2023 01:49:25 +0100 Subject: First commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- rtgrpblib_create_raster.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 rtgrpblib_create_raster.c (limited to 'rtgrpblib_create_raster.c') diff --git a/rtgrpblib_create_raster.c b/rtgrpblib_create_raster.c new file mode 100644 index 0000000..89ebad6 --- /dev/null +++ b/rtgrpblib_create_raster.c @@ -0,0 +1,40 @@ +/* See LICENSE file for copyright and license details. */ +#include "common.h" +#ifndef TEST + + +RASTER * +rtgrpblib_create_raster(size_t width, size_t height) +{ + RASTER *raster; + + if (!width || !height) { + errno = EINVAL; + return NULL; + } + + if (width > (SIZE_MAX - offsetof(RASTER, cells)) / sizeof(*raster->cells) / height) + goto enomem; + raster = calloc(1, offsetof(RASTER, cells) + height * width * sizeof(*raster->cells)); + if (!raster) { + enomem: + errno = ENOMEM; + return NULL; + } + + raster->width = width; + raster->height = height; + raster->draftness = 0.5; + return raster; +} + + +#else + +int +main(void) +{ + return 0; /* TODO add test */ +} + +#endif -- cgit v1.2.3-70-g09d2