mirror of
https://github.com/fluencelabs/sqlite-wasm-connector
synced 2025-04-25 16:52:15 +00:00
Eliminate a memory leak in iterate
This commit is contained in:
parent
4f97dda5d7
commit
fd9cf2b2d2
@ -39,12 +39,12 @@ impl Database {
|
|||||||
pub fn iterate<F>(&self, sql: &str, callback: F) -> Result<()>
|
pub fn iterate<F>(&self, sql: &str, callback: F) -> Result<()>
|
||||||
where F: FnMut(Vec<(String, String)>) -> bool
|
where F: FnMut(Vec<(String, String)>) -> bool
|
||||||
{
|
{
|
||||||
use std::mem::transmute;
|
use std::ops::Deref;
|
||||||
let callback = Box::new(callback);
|
let callback = Box::new(callback);
|
||||||
unsafe {
|
unsafe {
|
||||||
success!(self, raw::sqlite3_exec(self.raw, str_to_c_str!(sql),
|
success!(self, raw::sqlite3_exec(self.raw, str_to_c_str!(sql),
|
||||||
Some(execute_callback::<F>),
|
Some(execute_callback::<F>),
|
||||||
transmute::<_, *mut c_void>(callback),
|
callback.deref() as *const _ as *mut _ as *mut _,
|
||||||
0 as *mut _));
|
0 as *mut _));
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user