mirror of
https://github.com/isar/rusqlite.git
synced 2025-09-16 12:42:18 +08:00
Clippy: fix warnings
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
use std::ffi::CStr;
|
||||
use std::io::{Read, Write};
|
||||
use std::marker::PhantomData;
|
||||
use std::mem;
|
||||
use std::mem::MaybeUninit;
|
||||
use std::os::raw::{c_char, c_int, c_uchar, c_void};
|
||||
use std::panic::{catch_unwind, RefUnwindSafe};
|
||||
use std::ptr;
|
||||
@@ -43,8 +43,9 @@ impl Session<'_> {
|
||||
|
||||
let db = db.db.borrow_mut().db;
|
||||
|
||||
let mut s: *mut ffi::sqlite3_session = unsafe { mem::uninitialized() };
|
||||
check!(unsafe { ffi::sqlite3session_create(db, name.as_ptr(), &mut s) });
|
||||
let mut s = MaybeUninit::uninit();
|
||||
check!(unsafe { ffi::sqlite3session_create(db, name.as_ptr(), s.as_mut_ptr()) });
|
||||
let s: *mut ffi::sqlite3_session = unsafe { s.assume_init() };
|
||||
|
||||
Ok(Session {
|
||||
phantom: PhantomData,
|
||||
@@ -112,8 +113,9 @@ impl Session<'_> {
|
||||
/// Generate a Changeset
|
||||
pub fn changeset(&mut self) -> Result<Changeset> {
|
||||
let mut n = 0;
|
||||
let mut cs: *mut c_void = unsafe { mem::uninitialized() };
|
||||
check!(unsafe { ffi::sqlite3session_changeset(self.s, &mut n, &mut cs) });
|
||||
let mut cs = MaybeUninit::uninit();
|
||||
check!(unsafe { ffi::sqlite3session_changeset(self.s, &mut n, cs.as_mut_ptr()) });
|
||||
let cs: *mut c_void = unsafe { cs.assume_init() };
|
||||
Ok(Changeset { cs, n })
|
||||
}
|
||||
|
||||
@@ -133,8 +135,9 @@ impl Session<'_> {
|
||||
/// Generate a Patchset
|
||||
pub fn patchset(&mut self) -> Result<Changeset> {
|
||||
let mut n = 0;
|
||||
let mut ps: *mut c_void = unsafe { mem::uninitialized() };
|
||||
check!(unsafe { ffi::sqlite3session_patchset(self.s, &mut n, &mut ps) });
|
||||
let mut ps = MaybeUninit::uninit();
|
||||
check!(unsafe { ffi::sqlite3session_patchset(self.s, &mut n, ps.as_mut_ptr()) });
|
||||
let ps: *mut c_void = unsafe { ps.assume_init() };
|
||||
// TODO Validate: same struct
|
||||
Ok(Changeset { cs: ps, n })
|
||||
}
|
||||
@@ -157,9 +160,10 @@ impl Session<'_> {
|
||||
let from = from.to_cstring()?;
|
||||
let table = str_to_cstring(table)?.as_ptr();
|
||||
unsafe {
|
||||
let mut errmsg: *mut c_char = mem::uninitialized();
|
||||
let r = ffi::sqlite3session_diff(self.s, from.as_ptr(), table, &mut errmsg);
|
||||
let mut errmsg = MaybeUninit::uninit();
|
||||
let r = ffi::sqlite3session_diff(self.s, from.as_ptr(), table, errmsg.as_mut_ptr());
|
||||
if r != ffi::SQLITE_OK {
|
||||
let errmsg: *mut c_char = errmsg.assume_init();
|
||||
let message = errmsg_to_string(&*errmsg);
|
||||
ffi::sqlite3_free(errmsg as *mut ::std::os::raw::c_void);
|
||||
return Err(error_from_sqlite_code(r, Some(message)));
|
||||
@@ -254,15 +258,17 @@ impl Changeset {
|
||||
/// Invert a changeset
|
||||
pub fn invert(&self) -> Result<Changeset> {
|
||||
let mut n = 0;
|
||||
let mut cs: *mut c_void = unsafe { mem::uninitialized() };
|
||||
check!(unsafe { ffi::sqlite3changeset_invert(self.n, self.cs, &mut n, &mut cs) });
|
||||
let mut cs = MaybeUninit::uninit();
|
||||
check!(unsafe { ffi::sqlite3changeset_invert(self.n, self.cs, &mut n, cs.as_mut_ptr()) });
|
||||
let cs: *mut c_void = unsafe { cs.assume_init() };
|
||||
Ok(Changeset { cs, n })
|
||||
}
|
||||
|
||||
/// Create an iterator to traverse a changeset
|
||||
pub fn iter(&self) -> Result<ChangesetIter<'_>> {
|
||||
let mut it: *mut ffi::sqlite3_changeset_iter = unsafe { mem::uninitialized() };
|
||||
check!(unsafe { ffi::sqlite3changeset_start(&mut it, self.n, self.cs) });
|
||||
let mut it = MaybeUninit::uninit();
|
||||
check!(unsafe { ffi::sqlite3changeset_start(it.as_mut_ptr(), self.n, self.cs) });
|
||||
let it: *mut ffi::sqlite3_changeset_iter = unsafe { it.assume_init() };
|
||||
Ok(ChangesetIter {
|
||||
phantom: PhantomData,
|
||||
it,
|
||||
@@ -273,8 +279,11 @@ impl Changeset {
|
||||
/// Concatenate two changeset objects
|
||||
pub fn concat(a: &Changeset, b: &Changeset) -> Result<Changeset> {
|
||||
let mut n = 0;
|
||||
let mut cs: *mut c_void = unsafe { mem::uninitialized() };
|
||||
check!(unsafe { ffi::sqlite3changeset_concat(a.n, a.cs, b.n, b.cs, &mut n, &mut cs) });
|
||||
let mut cs = MaybeUninit::uninit();
|
||||
check!(unsafe {
|
||||
ffi::sqlite3changeset_concat(a.n, a.cs, b.n, b.cs, &mut n, cs.as_mut_ptr())
|
||||
});
|
||||
let cs: *mut c_void = unsafe { cs.assume_init() };
|
||||
Ok(Changeset { cs, n })
|
||||
}
|
||||
}
|
||||
@@ -298,14 +307,15 @@ impl ChangesetIter<'_> {
|
||||
/// Create an iterator on `input`
|
||||
pub fn start_strm<'input>(input: &'input mut dyn Read) -> Result<ChangesetIter<'input>> {
|
||||
let input_ref = &input;
|
||||
let mut it: *mut ffi::sqlite3_changeset_iter = unsafe { mem::uninitialized() };
|
||||
let mut it = MaybeUninit::uninit();
|
||||
check!(unsafe {
|
||||
ffi::sqlite3changeset_start_strm(
|
||||
&mut it,
|
||||
it.as_mut_ptr(),
|
||||
Some(x_input),
|
||||
input_ref as *const &mut dyn Read as *mut c_void,
|
||||
)
|
||||
});
|
||||
let it: *mut ffi::sqlite3_changeset_iter = unsafe { it.assume_init() };
|
||||
Ok(ChangesetIter {
|
||||
phantom: PhantomData,
|
||||
it,
|
||||
@@ -385,12 +395,13 @@ impl ChangesetItem {
|
||||
/// `SQLITE_CHANGESET_CONFLICT` conflict handler callback.
|
||||
pub fn conflict(&self, col: usize) -> Result<ValueRef<'_>> {
|
||||
unsafe {
|
||||
let mut p_value: *mut ffi::sqlite3_value = mem::uninitialized();
|
||||
let mut p_value = MaybeUninit::uninit();
|
||||
check!(ffi::sqlite3changeset_conflict(
|
||||
self.it,
|
||||
col as i32,
|
||||
&mut p_value
|
||||
p_value.as_mut_ptr()
|
||||
));
|
||||
let p_value: *mut ffi::sqlite3_value = p_value.assume_init();
|
||||
Ok(ValueRef::from_value(p_value))
|
||||
}
|
||||
}
|
||||
@@ -413,8 +424,13 @@ impl ChangesetItem {
|
||||
/// `SQLITE_INSERT`.
|
||||
pub fn new_value(&self, col: usize) -> Result<ValueRef<'_>> {
|
||||
unsafe {
|
||||
let mut p_value: *mut ffi::sqlite3_value = mem::uninitialized();
|
||||
check!(ffi::sqlite3changeset_new(self.it, col as i32, &mut p_value));
|
||||
let mut p_value = MaybeUninit::uninit();
|
||||
check!(ffi::sqlite3changeset_new(
|
||||
self.it,
|
||||
col as i32,
|
||||
p_value.as_mut_ptr()
|
||||
));
|
||||
let p_value: *mut ffi::sqlite3_value = p_value.assume_init();
|
||||
Ok(ValueRef::from_value(p_value))
|
||||
}
|
||||
}
|
||||
@@ -425,8 +441,13 @@ impl ChangesetItem {
|
||||
/// `SQLITE_UPDATE`.
|
||||
pub fn old_value(&self, col: usize) -> Result<ValueRef<'_>> {
|
||||
unsafe {
|
||||
let mut p_value: *mut ffi::sqlite3_value = mem::uninitialized();
|
||||
check!(ffi::sqlite3changeset_old(self.it, col as i32, &mut p_value));
|
||||
let mut p_value = MaybeUninit::uninit();
|
||||
check!(ffi::sqlite3changeset_old(
|
||||
self.it,
|
||||
col as i32,
|
||||
p_value.as_mut_ptr()
|
||||
));
|
||||
let p_value: *mut ffi::sqlite3_value = p_value.assume_init();
|
||||
Ok(ValueRef::from_value(p_value))
|
||||
}
|
||||
}
|
||||
@@ -437,14 +458,15 @@ impl ChangesetItem {
|
||||
let mut code = 0;
|
||||
let mut indirect = 0;
|
||||
let tab = unsafe {
|
||||
let mut pz_tab: *const c_char = mem::uninitialized();
|
||||
let mut pz_tab = MaybeUninit::uninit();
|
||||
check!(ffi::sqlite3changeset_op(
|
||||
self.it,
|
||||
&mut pz_tab,
|
||||
pz_tab.as_mut_ptr(),
|
||||
&mut number_of_columns,
|
||||
&mut code,
|
||||
&mut indirect
|
||||
));
|
||||
let pz_tab: *const c_char = pz_tab.assume_init();
|
||||
CStr::from_ptr(pz_tab)
|
||||
};
|
||||
let table_name = tab.to_str()?;
|
||||
@@ -460,12 +482,13 @@ impl ChangesetItem {
|
||||
pub fn pk(&self) -> Result<&[u8]> {
|
||||
let mut number_of_columns = 0;
|
||||
unsafe {
|
||||
let mut pks: *mut c_uchar = mem::uninitialized();
|
||||
let mut pks = MaybeUninit::uninit();
|
||||
check!(ffi::sqlite3changeset_pk(
|
||||
self.it,
|
||||
&mut pks,
|
||||
pks.as_mut_ptr(),
|
||||
&mut number_of_columns
|
||||
));
|
||||
let pks: *mut c_uchar = pks.assume_init();
|
||||
Ok(from_raw_parts(pks, number_of_columns as usize))
|
||||
}
|
||||
}
|
||||
@@ -479,8 +502,9 @@ pub struct Changegroup {
|
||||
|
||||
impl Changegroup {
|
||||
pub fn new() -> Result<Self> {
|
||||
let mut cg: *mut ffi::sqlite3_changegroup = unsafe { mem::uninitialized() };
|
||||
check!(unsafe { ffi::sqlite3changegroup_new(&mut cg) });
|
||||
let mut cg = MaybeUninit::uninit();
|
||||
check!(unsafe { ffi::sqlite3changegroup_new(cg.as_mut_ptr()) });
|
||||
let cg: *mut ffi::sqlite3_changegroup = unsafe { cg.assume_init() };
|
||||
Ok(Changegroup { cg })
|
||||
}
|
||||
|
||||
@@ -506,8 +530,9 @@ impl Changegroup {
|
||||
/// Obtain a composite Changeset
|
||||
pub fn output(&mut self) -> Result<Changeset> {
|
||||
let mut n = 0;
|
||||
let mut output: *mut c_void = unsafe { mem::uninitialized() };
|
||||
check!(unsafe { ffi::sqlite3changegroup_output(self.cg, &mut n, &mut output) });
|
||||
let mut output = MaybeUninit::uninit();
|
||||
check!(unsafe { ffi::sqlite3changegroup_output(self.cg, &mut n, output.as_mut_ptr()) });
|
||||
let output: *mut c_void = unsafe { output.assume_init() };
|
||||
Ok(Changeset { cs: output, n })
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user