From b659c412263f6dd7df962f7d42f4f51b7c3d5609 Mon Sep 17 00:00:00 2001 From: Tomasz Kramkowski Date: Wed, 2 May 2018 21:22:03 +0100 Subject: Implement diffuse texture loading and basic material support --- ensize.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 ensize.c (limited to 'ensize.c') diff --git a/ensize.c b/ensize.c new file mode 100644 index 0000000..82835a7 --- /dev/null +++ b/ensize.c @@ -0,0 +1,20 @@ +#include + +#include "ensize.h" +#include "eprintf.h" + +// ensize: realloc p if it is smaller than count given current size +void *ensize(void *p, size_t selem, size_t nelem, size_t *cur, size_t init) +{ + assert(cur != NULL); + + if (*cur >= nelem * selem) + return p; + + if (*cur == 0) + *cur = init * selem; + else + *cur *= 2; + + return erealloc(p, *cur); +} -- cgit v1.2.3-54-g00ecf