From ee50ee4ef760521c0764177b3bb8fed25beb2092 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Wed, 25 Feb 2026 22:42:22 +0200 Subject: vec example produces C, but broken C --- mod/mem.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'mod') diff --git a/mod/mem.c b/mod/mem.c index 96d6d0e..93360fb 100644 --- a/mod/mem.c +++ b/mod/mem.c @@ -4,7 +4,7 @@ long fwdmalloc(fwd_extern_args_t args) { assert(args.argc == 1); size_t n = FWD_ARG_T(args, 0, size_t); - FWD_RET(FWD_PTR, malloc(n)); + FWD_RET(void *, args, malloc(n)); return 0; } @@ -13,7 +13,7 @@ long fwdrealloc(fwd_extern_args_t args) assert(args.argc == 2); void *ptr = FWD_ARG(args, 0, void *, FWD_PTR); size_t n = FWD_ARG_T(args, 1, size_t); - FWD_RET(FWD_PTR, realloc(ptr, n)); + FWD_RET(void *, args, realloc(ptr, n)); return 0; } @@ -21,6 +21,7 @@ long fwdfree(fwd_extern_args_t args) { assert(args.argc == 1); void *ptr = FWD_ARG(args, 0, void *, FWD_PTR); + free(ptr); return 0; } @@ -29,7 +30,7 @@ long fwdptradd(fwd_extern_args_t args) assert(args.argc == 2); void *ptr = FWD_ARG(args, 0, void *, FWD_PTR); int64_t add = FWD_ARG_T(args, 1, int64_t); - FWD_RET(FWD_PTR, (char *)ptr + add); + FWD_RET(char *, args, (char *)ptr + add); return 0; } -- cgit v1.2.3