diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2026-02-25 22:42:22 +0200 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2026-02-25 22:42:22 +0200 |
| commit | ee50ee4ef760521c0764177b3bb8fed25beb2092 (patch) | |
| tree | 667aa45aa853e31e856f557fe73325929cb8fa08 /mod | |
| parent | 99601456e6ad4c86287ba786923c99c5499037e0 (diff) | |
| download | fwd-ee50ee4ef760521c0764177b3bb8fed25beb2092.tar.gz fwd-ee50ee4ef760521c0764177b3bb8fed25beb2092.zip | |
vec example produces C, but broken C
Diffstat (limited to 'mod')
| -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; } |
