From d7c6a32c63a2e24dffaf424c13ac8361878381b1 Mon Sep 17 00:00:00 2001 From: Lukas Krickl Date: Sun, 8 Mar 2026 16:25:06 +0100 Subject: [PATCH] scripting: Added function pointer interface for malloc and free to vm --- src/l_lsl.c | 4 ++++ src/l_lsl.h | 4 ++++ src/u_mem.h | 3 +++ 3 files changed, 11 insertions(+) diff --git a/src/l_lsl.c b/src/l_lsl.c index 87b918c..4c497d6 100644 --- a/src/l_lsl.c +++ b/src/l_lsl.c @@ -5,6 +5,10 @@ struct l_lsl_vm l_lsl_vm_init() { struct l_lsl_vm v; u_memset(&v, 0, sizeof(v)); + v.malloc = u_malloc; + v.free = u_free; + v.realloc = u_realloc; + return v; } diff --git a/src/l_lsl.h b/src/l_lsl.h index 515d7fd..5982201 100644 --- a/src/l_lsl.h +++ b/src/l_lsl.h @@ -174,6 +174,10 @@ struct l_lsl_vm { enum l_lsl_flags flags; struct l_lsl_table global_table; + + u_malloc_fp malloc; + u_free_fp free; + u_realloc_fp realloc; }; diff --git a/src/u_mem.h b/src/u_mem.h index 192df5d..7482f2f 100644 --- a/src/u_mem.h +++ b/src/u_mem.h @@ -1,6 +1,9 @@ #ifndef U_MEM_H__ #define U_MEM_H__ +typedef void * (*u_malloc_fp)(size_t size); +typedef void (*u_free_fp)(void *ptr); +typedef void * (*u_realloc_fp)(void *ptr, size_t size); void *u_memset(void *src, int count, size_t n); void *u_memcpy(void *det, const void *src, size_t n); -- 2.30.2