use proper pointer conversion macros in ffi.c
This commit is contained in:
parent
f229b3c486
commit
2f51974c2f
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user