diff options
Diffstat (limited to 'src/libmain.c')
| -rw-r--r-- | src/libmain.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/libmain.c b/src/libmain.c index 1458bf8..93ad2a0 100644 --- a/src/libmain.c +++ b/src/libmain.c @@ -1,13 +1,14 @@ -#include <aplwc.h> #include <aplwc_internal.h> AplwcRc -aplwc_new(Aplwc **p) +aplwc_new(Aplwc **p, uint8_t *data, size_t size) { - *p = malloc_zero(sizeof(Aplwc)); + Memory m = memory_init(data, size); + *p = memory_alloc_aplwc(&m); if(*p == NULL) - RETURN_ERROR(*p, MALLOC_FAILED, ""); - + RETURN_ERROR(*p, OUT_OF_MEMORY, ""); + (*p)->memory = m; + return APLWC_OK; } @@ -15,7 +16,7 @@ AplwcRc aplwc_destroy(Aplwc *p) { if(p) - free(p); + memory_free_aplwc(&p->memory, p); return APLWC_OK; } |