Style: use NonNull

This commit is contained in:
bluepython508
2025-11-04 15:18:37 +00:00
parent 75754935be
commit 03353f9796

View File

@@ -1,10 +1,10 @@
use std::{
cmp::{max, min},
ffi::{CStr, OsStr, c_void},
fs, iter,
mem::MaybeUninit,
fs,
os::unix::ffi::OsStrExt,
path::Path,
ptr::NonNull,
slice,
};
@@ -260,10 +260,13 @@ unsafe extern "C" fn page_get_text(
rect: zathura_rectangle_s,
res: *mut ZathuraResult,
) -> *mut i8 {
let res = if res.is_null() {
&mut ZathuraResult::OK
let res = if let Some(mut r) = NonNull::new(res) {
unsafe {
r.write(ZathuraResult::Unknown);
r.as_mut()
}
} else {
unsafe { &mut *(res as *mut MaybeUninit<ZathuraResult>) }.write(ZathuraResult::Unknown)
&mut ZathuraResult::OK
};
let typst_page: &Page = unsafe { &*(data as *mut _) };
@@ -299,10 +302,13 @@ unsafe extern "C" fn page_get_selection(
rect: zathura_rectangle_s,
res: *mut ZathuraResult,
) -> *mut girara_list_t {
let res = if res.is_null() {
&mut ZathuraResult::OK
let res = if let Some(mut r) = NonNull::new(res) {
unsafe {
r.write(ZathuraResult::Unknown);
r.as_mut()
}
} else {
unsafe { &mut *(res as *mut MaybeUninit<ZathuraResult>) }.write(ZathuraResult::Unknown)
&mut ZathuraResult::OK
};
let typst_page: &Page = unsafe { &*(data as *mut _) };
@@ -345,6 +351,5 @@ unsafe extern "C" fn page_get_selection(
}
// TODO: render warnings
// TODO: PDF as attachment
// TODO: link/... handling
// TODO: better caching