diff options
author | Tomasz Kramkowski <tk@the-tk.com> | 2018-05-02 21:22:03 +0100 |
---|---|---|
committer | Tomasz Kramkowski <tk@the-tk.com> | 2018-05-02 21:22:03 +0100 |
commit | b659c412263f6dd7df962f7d42f4f51b7c3d5609 (patch) | |
tree | e2495e0b1446527b909a9c9fa2776797c7c28221 /ensize.c | |
parent | ec93a8eddf70adef2b1439a511d990021ad25d99 (diff) | |
download | faqe-b659c412263f6dd7df962f7d42f4f51b7c3d5609.tar.gz faqe-b659c412263f6dd7df962f7d42f4f51b7c3d5609.tar.xz faqe-b659c412263f6dd7df962f7d42f4f51b7c3d5609.zip |
Implement diffuse texture loading and basic material support
Diffstat (limited to 'ensize.c')
-rw-r--r-- | ensize.c | 20 |
1 files changed, 20 insertions, 0 deletions
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 <assert.h> + +#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); +} |