1 /*-------------------------------------------------------------------------
\r
2 * posix regex extensions
\r
4 * Copyright (c) 2015, glyn@8kb.co.uk
\r
5 * Author: Glyn Astill <glyn@8kb.co.uk>
\r
7 *-------------------------------------------------------------------------
\r
15 * Wrappers around malloc/realloc/free
\r
17 void * wmalloc(unsigned int size) {
\r
20 if ((result = malloc(size)) == NULL) {
\r
21 fprintf(stderr, "Failed to malloc %d bytes\n", size);
\r
27 void * wrealloc(void *iptr, unsigned int size) {
\r
30 assert(iptr != NULL);
\r
32 if ((result = realloc(iptr, size)) == NULL) {
\r
33 fprintf(stderr, "Failed to realloc %d bytes\n", size);
\r
39 void wfree(void *iptr){
\r
40 assert(iptr != NULL);
\r
49 * Reallocate memory block pointed to by iptr in chunks of chunk_size when
\r
50 * required_size is greater than value pointed to be allocated_size.
\r
51 * Sets value of allocated_size to current allocation.
\r
53 void * reallocate_block(void *iptr, int *allocated_size, int required_size, int chunk_size) {
\r
56 if (*allocated_size >= required_size)
\r
59 *allocated_size += (((required_size-*allocated_size)/chunk_size)+1)*chunk_size;
\r
61 result = wrealloc(iptr, *allocated_size);
\r