mirror of
https://github.com/isar/rusqlite.git
synced 2025-08-19 12:29:34 +08:00
Fix panic at 'SQLite API not initialized or SQLite feature omitted'
`to_sqlite_error` needs `sqlite3_malloc` ``` sqlite> .log on sqlite> .load target/debug/examples/libloadable_extension.so Error: error during initialization: SQLite version mismatch: 3014000 < 3042000 ```
This commit is contained in:
@@ -7463,9 +7463,7 @@ pub unsafe fn sqlite3_is_interrupted(arg1: *mut sqlite3) -> ::std::os::raw::c_in
|
||||
pub unsafe fn rusqlite_extension_init2(
|
||||
p_api: *mut sqlite3_api_routines,
|
||||
) -> ::std::result::Result<(), crate::InitError> {
|
||||
if p_api.is_null() {
|
||||
return Err(crate::InitError::NullApiPointer);
|
||||
}
|
||||
__SQLITE3_MALLOC.store((*p_api).malloc, ::atomic::Ordering::Release);
|
||||
if let Some(fun) = (*p_api).libversion_number {
|
||||
let version = fun();
|
||||
if SQLITE_VERSION_NUMBER > version {
|
||||
@@ -7567,7 +7565,6 @@ pub unsafe fn rusqlite_extension_init2(
|
||||
__SQLITE3_LIBVERSION.store((*p_api).libversion, ::atomic::Ordering::Release);
|
||||
__SQLITE3_LIBVERSION_NUMBER
|
||||
.store((*p_api).libversion_number, ::atomic::Ordering::Release);
|
||||
__SQLITE3_MALLOC.store((*p_api).malloc, ::atomic::Ordering::Release);
|
||||
__SQLITE3_OPEN.store((*p_api).open, ::atomic::Ordering::Release);
|
||||
__SQLITE3_OPEN16.store((*p_api).open16, ::atomic::Ordering::Release);
|
||||
__SQLITE3_PREPARE.store((*p_api).prepare, ::atomic::Ordering::Release);
|
||||
|
Reference in New Issue
Block a user