diff options
Diffstat (limited to 'data/lighttpd/lighttpd-1.4.53/src/vector.c')
-rw-r--r-- | data/lighttpd/lighttpd-1.4.53/src/vector.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/data/lighttpd/lighttpd-1.4.53/src/vector.c b/data/lighttpd/lighttpd-1.4.53/src/vector.c new file mode 100644 index 000000000..29b707890 --- /dev/null +++ b/data/lighttpd/lighttpd-1.4.53/src/vector.c @@ -0,0 +1,23 @@ +#include "first.h" + +#include "vector.h" + +#include <stdlib.h> +#include <string.h> + +void vector_free(void *data) { free(data); } + +void *vector_malloc(size_t sz) { return malloc(sz); } + +void *vector_realloc(void *data, size_t elem_size, size_t size, size_t used) { + const size_t total_size = elem_size * size; + const size_t used_size = elem_size * used; + force_assert(size <= SIZE_MAX / elem_size); + data = realloc(data, total_size); + force_assert(NULL != data); + + /* clear new memory */ + memset(((char*)data) + used_size, 0, total_size - used_size); + + return data; +} |