diff options
Diffstat (limited to 'src/runtime/rt_stdlib.C')
-rw-r--r-- | src/runtime/rt_stdlib.C | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/runtime/rt_stdlib.C b/src/runtime/rt_stdlib.C new file mode 100644 index 000000000..ec92badc6 --- /dev/null +++ b/src/runtime/rt_stdlib.C @@ -0,0 +1,56 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/runtime/rt_stdlib.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2013 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ +#include <stdlib.h> +#include <runtime/interface.h> +#include <string.h> + +void* malloc(size_t s) +{ + return g_hostInterfaces->malloc(s); +} + +void free(void* p) +{ + g_hostInterfaces->free(p); +} + +void* realloc(void* p, size_t s) +{ + return g_hostInterfaces->realloc(p, s); +} + +void* calloc(size_t num, size_t size) +{ + // Allocate a block of memory for an array of 'num' elements, each of them + // 'size' bytes long and initialize to zero + size_t total_size = num * size; + void* mem = NULL; + + if (total_size) + { + mem = malloc(total_size); + memset(mem, 0, total_size); + } + + return mem; +} |