playdate
playdate copied to clipboard
check ptr is aligned to `UD`
pub(crate) fn take_userdata(&self) -> Option<Box<Userdata>> {
let f = self.1.get_userdata();
let ptr = unsafe { f(self.0) };
if ptr.is_null() {
None
} else {
// TODO: check ptr is aligned to `UD`
let ud = unsafe { Box::from_raw(ptr as *mut Userdata) };
Some(ud)
}
}