X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Flibffi.c;h=644b0fed5d8b6d70f64dd34205d62081653b34cd;hp=e859dbd1bad9b687c40a14ef46d78bf96819aa10;hb=e82854b435ee087e5eb6af926866c9f2d810a5fe;hpb=5b17e760a71eaa07bc91e0bc0b463f2ecfec245a diff --git a/src/libffi.c b/src/libffi.c index e859dbd..644b0fe 100644 --- a/src/libffi.c +++ b/src/libffi.c @@ -156,6 +156,18 @@ static void psi_ffi_callback(ffi_cif *sig, void *result, void **args, void *data } static inline ffi_abi psi_ffi_abi(const char *convention) { + if (FFI_LAST_ABI - 2 != FFI_FIRST_ABI) { +#ifdef HAVE_FFI_STDCALL + if (!strcasecmp(convention, "stdcall")) { + return FFI_STDCALL; + } +#endif +#ifdef HAVE_FFI_FASTCALL + if (!strcasecmp(convention, "fastcall")) { + return FFI_FASTCALL; + } +#endif + } return FFI_DEFAULT_ABI; }