This commit is contained in:
@@ -21,7 +21,7 @@ unsafe extern "C" fn nature_library_drop(ptr: OwnedPtr<NatureLibrary>) {
|
||||
unsafe extern "C" fn nature_library_load_nature(
|
||||
mut ptr: ExternPointer<NatureLibrary>,
|
||||
name: BorrowedPtr<c_char>,
|
||||
nature: OwnedPtr<Arc<Nature>>,
|
||||
nature: OwnedPtr<Arc<dyn Nature>>,
|
||||
) {
|
||||
ptr.as_mut()
|
||||
.load_nature(CStr::from_ptr(name).into(), nature.as_ref().unwrap().clone())
|
||||
@@ -32,7 +32,7 @@ unsafe extern "C" fn nature_library_load_nature(
|
||||
unsafe extern "C" fn nature_library_get_nature(
|
||||
ptr: ExternPointer<NatureLibrary>,
|
||||
name: BorrowedPtr<c_char>,
|
||||
) -> IdentifiablePointer<Arc<Nature>> {
|
||||
) -> IdentifiablePointer<Arc<dyn Nature>> {
|
||||
if let Some(nature) = ptr.as_ref().get_nature(&CStr::from_ptr(name).into()) {
|
||||
nature.clone().into()
|
||||
} else {
|
||||
@@ -44,7 +44,7 @@ unsafe extern "C" fn nature_library_get_nature(
|
||||
#[no_mangle]
|
||||
unsafe extern "C" fn nature_library_get_nature_name(
|
||||
ptr: ExternPointer<NatureLibrary>,
|
||||
nature: BorrowedPtr<Arc<Nature>>,
|
||||
nature: BorrowedPtr<Arc<dyn Nature>>,
|
||||
) -> OwnedPtr<c_char> {
|
||||
CString::new(ptr.as_ref().get_nature_name(nature.as_ref().unwrap()).str())
|
||||
.unwrap()
|
||||
|
||||
Reference in New Issue
Block a user