summaryrefslogtreecommitdiff
path: root/src/libmain.c
diff options
context:
space:
mode:
authorpeter <peter@pmikkelsen.com>2026-08-10 09:18:23 +0000
committerpeter <peter@pmikkelsen.com>2026-08-10 09:18:23 +0000
commit3a81615601bf37ffc4f7b570030709ac0782e2ed (patch)
treefc5a4d59b9bb62521d37a878c1fa7bb34d3d2bb5 /src/libmain.c
parente30299f2cd59c46c2d733e38139da96c93f9acf4 (diff)
Avoid calling malloc/free in the library code.
FossilOrigin-Name: 3e7c2c1b4beda2a729c880caf1a41c441e0a8387d40b666ac7163eb1346653b5
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;
}