Style: use NonNull
This commit is contained in:
23
src/lib.rs
23
src/lib.rs
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user