aboutsummaryrefslogtreecommitdiff
path: root/mod
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2026-02-25 22:42:22 +0200
committerKimplul <kimi.h.kuparinen@gmail.com>2026-02-25 22:42:22 +0200
commitee50ee4ef760521c0764177b3bb8fed25beb2092 (patch)
tree667aa45aa853e31e856f557fe73325929cb8fa08 /mod
parent99601456e6ad4c86287ba786923c99c5499037e0 (diff)
downloadfwd-ee50ee4ef760521c0764177b3bb8fed25beb2092.tar.gz
fwd-ee50ee4ef760521c0764177b3bb8fed25beb2092.zip
vec example produces C, but broken C
Diffstat (limited to 'mod')
-rw-r--r--mod/mem.c7
1 files changed, 4 insertions, 3 deletions
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;
}