in src/backend/mod.rs [5160:5178]
fn device_destroy(&mut self, device: &DeviceRef) -> Result<()> {
if device.as_ptr().is_null() {
Err(Error::error())
} else {
unsafe {
let mut dev: Box<ffi::cubeb_device> = Box::from_raw(device.as_ptr() as *mut _);
if !dev.output_name.is_null() {
let _ = CString::from_raw(dev.output_name as *mut _);
dev.output_name = ptr::null_mut();
}
if !dev.input_name.is_null() {
let _ = CString::from_raw(dev.input_name as *mut _);
dev.input_name = ptr::null_mut();
}
drop(dev);
}
Ok(())
}
}