diff --git a/src/c/ffi.d b/src/c/ffi.d index 3212b878e..8861303e6 100644 --- a/src/c/ffi.d +++ b/src/c/ffi.d @@ -282,10 +282,9 @@ cl_object si_make_foreign_data_from_array(cl_object array) { cl_object tag; - if (ecl_unlikely(ecl_t_of(array) != t_array && ecl_t_of(array) != t_vector)) { - FEwrong_type_only_arg(@[si::make-foreign-data-from-array], array, - @[array]); - } + if (!ECL_ARRAYP (array)) + FEwrong_type_only_arg(@[si::make-foreign-data-from-array], + array, @[array]); tag = ecl_aet_to_ffi_table[array->array.elttype]; if (ecl_unlikely(Null(tag))) { FEerror("Cannot make foreign object from array "