| /* |
| * Default allocation functions. |
| * |
| * Assumes behavior such as malloc allowing zero size, yielding |
| * a NULL or a unique pointer which is a no-op for free. |
| */ |
| |
| #include "duk_internal.h" |
| |
| #if defined(DUK_USE_PROVIDE_DEFAULT_ALLOC_FUNCTIONS) |
| DUK_INTERNAL void *duk_default_alloc_function(void *udata, duk_size_t size) { |
| void *res; |
| DUK_UNREF(udata); |
| res = DUK_ANSI_MALLOC(size); |
| DUK_DDD(DUK_DDDPRINT("default alloc function: %lu -> %p", |
| (unsigned long) size, (void *) res)); |
| return res; |
| } |
| |
| DUK_INTERNAL void *duk_default_realloc_function(void *udata, void *ptr, duk_size_t newsize) { |
| void *res; |
| DUK_UNREF(udata); |
| res = DUK_ANSI_REALLOC(ptr, newsize); |
| DUK_DDD(DUK_DDDPRINT("default realloc function: %p %lu -> %p", |
| (void *) ptr, (unsigned long) newsize, (void *) res)); |
| return res; |
| } |
| |
| DUK_INTERNAL void duk_default_free_function(void *udata, void *ptr) { |
| DUK_DDD(DUK_DDDPRINT("default free function: %p", (void *) ptr)); |
| DUK_UNREF(udata); |
| DUK_ANSI_FREE(ptr); |
| } |
| #endif /* DUK_USE_PROVIDE_DEFAULT_ALLOC_FUNCTIONS */ |