]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | /* |
2 | * Default allocation functions. | |
3 | * | |
4 | * Assumes behavior such as malloc allowing zero size, yielding | |
5 | * a NULL or a unique pointer which is a no-op for free. | |
6 | */ | |
7 | ||
8 | #include "duk_internal.h" | |
9 | ||
10 | DUK_INTERNAL void *duk_default_alloc_function(void *udata, duk_size_t size) { | |
11 | void *res; | |
12 | DUK_UNREF(udata); | |
13 | res = DUK_ANSI_MALLOC(size); | |
14 | DUK_DDD(DUK_DDDPRINT("default alloc function: %lu -> %p", | |
15 | (unsigned long) size, (void *) res)); | |
16 | return res; | |
17 | } | |
18 | ||
19 | DUK_INTERNAL void *duk_default_realloc_function(void *udata, void *ptr, duk_size_t newsize) { | |
20 | void *res; | |
21 | DUK_UNREF(udata); | |
22 | res = DUK_ANSI_REALLOC(ptr, newsize); | |
23 | DUK_DDD(DUK_DDDPRINT("default realloc function: %p %lu -> %p", | |
24 | (void *) ptr, (unsigned long) newsize, (void *) res)); | |
25 | return res; | |
26 | } | |
27 | ||
28 | DUK_INTERNAL void duk_default_free_function(void *udata, void *ptr) { | |
29 | DUK_DDD(DUK_DDDPRINT("default free function: %p", (void *) ptr)); | |
30 | DUK_UNREF(udata); | |
31 | DUK_ANSI_FREE(ptr); | |
32 | } |