flush
[m6w6/ext-psi] / src / libffi.c
index 5962b5e7431aedaff1d362aed1b5bae373712e72..369fe3367ba5d46b3c24398e19ed6168503ab8c4 100644 (file)
@@ -8,6 +8,7 @@
 
 #include "php_psi.h"
 #include "libffi.h"
+#include "engine.h"
 
 #undef PACKAGE
 #undef PACKAGE_BUGREPORT
@@ -87,6 +88,7 @@ static inline ffi_type *psi_ffi_token_type(token_t t) {
        case PSI_T_BOOL:
                return &ffi_type_uchar;
        case PSI_T_INT:
+       case PSI_T_ENUM:
                return &ffi_type_sint;
        case PSI_T_LONG:
                return &ffi_type_slong;
@@ -94,6 +96,10 @@ static inline ffi_type *psi_ffi_token_type(token_t t) {
                return &ffi_type_float;
        case PSI_T_DOUBLE:
                return &ffi_type_double;
+#ifdef HAVE_LONG_DOUBLE
+       case PSI_T_LONG_DOUBLE:
+               return &ffi_type_longdouble;
+#endif
        case PSI_T_POINTER:
                return &ffi_type_pointer;
        }