From df47976d97978f54a84337d8f21a304a765a4b02 Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Tue, 3 Jan 2023 12:54:38 +0100 Subject: [PATCH] Fix FFI for EffectParameters to return IdentifiablePointers --- src/ffi/static_data/mod.rs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) 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.