don't panic on unexpected/invalid value

This commit is contained in:
Bennet Bleßmann
2025-08-01 19:10:27 +02:00
committed by Bennet Bleßmann
parent f45426e8ab
commit f738b42e49
+6 -3
View File
@@ -292,6 +292,7 @@ impl ForeignFunctionTable {
let field = &struct_type.fields[i]; let field = &struct_type.fields[i];
unsafe { unsafe {
#[allow(clippy::wildcard_in_or_patterns)]
match (*field.as_raw_ptr()).type_ as u32 { match (*field.as_raw_ptr()).type_ as u32 {
libffi::raw::FFI_TYPE_UINT8 => try_write_int!(u8), libffi::raw::FFI_TYPE_UINT8 => try_write_int!(u8),
libffi::raw::FFI_TYPE_SINT8 => try_write_int!(i8), libffi::raw::FFI_TYPE_SINT8 => try_write_int!(i8),
@@ -322,9 +323,11 @@ impl ForeignFunctionTable {
); );
field_ptr = field_ptr.add(struct_size); field_ptr = field_ptr.add(struct_size);
} }
_ => { libffi::raw::FFI_TYPE_VOID
unreachable!() | libffi::raw::FFI_TYPE_INT
} | libffi::raw::FFI_TYPE_LONGDOUBLE
| libffi::raw::FFI_TYPE_COMPLEX
| _ => return Err(FFIError::InvalidFFIType),
} }
} }
} }