aboutsummaryrefslogtreecommitdiff
path: root/mod/mem.c
diff options
context:
space:
mode:
Diffstat (limited to 'mod/mem.c')
-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;
}