diff --git a/src/ffi/static_data/mod.rs b/src/ffi/static_data/mod.rs index 09a1620..676d945 100644 --- a/src/ffi/static_data/mod.rs +++ b/src/ffi/static_data/mod.rs @@ -1,4 +1,4 @@ -use crate::ffi::{ExternPointer, OwnedPtr}; +use crate::ffi::{ExternPointer, IdentifiablePointer, OwnedPtr}; use crate::static_data::EffectParameter; use crate::StringKey; use std::ffi::{c_char, CStr, CString}; @@ -27,27 +27,27 @@ mod statistic_set; /// Instantiates an effect parameter with a boolean. #[no_mangle] -extern "C" fn effect_parameter_new_bool(value: u8) -> OwnedPtr { - Box::into_raw(Box::new((value == 1).into())) +extern "C" fn effect_parameter_new_bool(value: u8) -> IdentifiablePointer { + Box::::new((value == 1).into()).into() } /// Instantiates an effect parameter with an integer. #[no_mangle] -extern "C" fn effect_parameter_new_int(value: i64) -> OwnedPtr { - Box::into_raw(Box::new(value.into())) +extern "C" fn effect_parameter_new_int(value: i64) -> IdentifiablePointer { + Box::::new(value.into()).into() } /// Instantiates an effect parameter with a float. #[no_mangle] -extern "C" fn effect_parameter_new_float(value: f32) -> OwnedPtr { - Box::into_raw(Box::new(value.into())) +extern "C" fn effect_parameter_new_float(value: f32) -> IdentifiablePointer { + Box::::new(value.into()).into() } /// Instantiates an effect parameter with a string. #[no_mangle] -unsafe extern "C" fn effect_parameter_new_string(value: *const c_char) -> OwnedPtr { +unsafe extern "C" fn effect_parameter_new_string(value: *const c_char) -> IdentifiablePointer { let sk: StringKey = CStr::from_ptr(value).to_str().unwrap().into(); - Box::into_raw(Box::new(sk.into())) + Box::::new(sk.into()).into() } /// Drop an effect parameter.