From 2f51974c2fcc0252b17d00c246cfa1d4e215c607 Mon Sep 17 00:00:00 2001 From: dzaima Date: Fri, 12 May 2023 19:33:00 +0300 Subject: [PATCH] use proper pointer conversion macros in ffi.c --- src/ffi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ffi.c b/src/ffi.c index 30e50589..c6f5b5d6 100644 --- a/src/ffi.c +++ b/src/ffi.c @@ -726,7 +726,7 @@ B libffiFn_c2(B t, B w, B x) { BoundFn* bf = c(BoundFn,t); B argObj = c(HArr,bf->obj)->a[0]; - u32 flags = (u64)bf->w_c1; + u32 flags = ptr2u64(bf->w_c1); Arr* wa ONLY_GCC(=0); AS2B wf ONLY_GCC(=0); Arr* xa ONLY_GCC(=0); AS2B xf ONLY_GCC(=0); @@ -925,7 +925,7 @@ B ffiload_c2(B t, B w, B x) { if (s!=FFI_OK) thrM("FFI: Error preparing call interface"); // mm_free(argsRaw) u32 flags = many[1] | many[0]<<1 | tRes.resSingle<<2; - B r = m_ffiFn(foreignFnDesc, m_hvec3(argObj, tag(cif, OBJ_TAG), tag(argsRaw, OBJ_TAG)), libffiFn_c1, libffiFn_c2, (void*)(u64)flags, sym); + B r = m_ffiFn(foreignFnDesc, m_hvec3(argObj, tag(cif, OBJ_TAG), tag(argsRaw, OBJ_TAG)), libffiFn_c1, libffiFn_c2, TOPTR(void,flags), sym); c(BoundFn,r)->mutCount = mutCount; return r; #endif