diff options
Diffstat (limited to 'mod/mem.c')
| -rw-r--r-- | mod/mem.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -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; } |
