diff options
-rw-r--r-- | ffi.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -766,7 +766,8 @@ static val ffi_ptr_d_get(struct txr_ffi_type *tft, mem_t *src, val self) return ret; } -static void ffi_ptr_put(struct txr_ffi_type *tft, val s, mem_t *dst, val self) +static void ffi_ptr_in_put(struct txr_ffi_type *tft, val s, mem_t *dst, + val self) { val tgttype = tft->mtypes; struct txr_ffi_type *tgtft = ffi_type_struct(tgttype); @@ -1260,14 +1261,14 @@ val ffi_type_compile(val syntax) val target_type = ffi_type_compile(cadr(syntax)); return make_ffi_type_pointer(syntax, cptr_s, sizeof (mem_t *), &ffi_type_pointer, - ffi_ptr_put, ffi_ptr_get, + ffi_ptr_in_put, ffi_ptr_get, ffi_ptr_in_in, ffi_ptr_in_out, target_type); } else if (sym == ptr_in_d_s) { val target_type = ffi_type_compile(cadr(syntax)); return make_ffi_type_pointer(syntax, cptr_s, sizeof (mem_t *), &ffi_type_pointer, - ffi_ptr_put, ffi_ptr_d_get, + ffi_ptr_in_put, ffi_ptr_d_get, 0, ffi_ptr_in_out, target_type); } else if (sym == ptr_out_s) { @@ -1288,7 +1289,7 @@ val ffi_type_compile(val syntax) val target_type = ffi_type_compile(cadr(syntax)); return make_ffi_type_pointer(syntax, cptr_s, sizeof (mem_t *), &ffi_type_pointer, - ffi_ptr_put, ffi_ptr_get, + ffi_ptr_in_put, ffi_ptr_get, ffi_ptr_out_in, ffi_ptr_out_out, target_type); } else if (sym == buf_s || sym == buf_d_s) { |