summaryrefslogtreecommitdiff
path: root/src/libmain.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmain.c')
-rw-r--r--src/libmain.c13
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;
}