From cb08e4cdc30cd61f9ad70efe48f9f87672fb763a Mon Sep 17 00:00:00 2001 From: C4 Patino Date: Mon, 21 Jul 2025 14:02:01 -0500 Subject: [PATCH] fix: error codes being properly set on the db object --- sqlite3/src/lib.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/sqlite3/src/lib.rs b/sqlite3/src/lib.rs index c063bcccc..c4e5bdcf8 100644 --- a/sqlite3/src/lib.rs +++ b/sqlite3/src/lib.rs @@ -219,15 +219,21 @@ pub unsafe extern "C" fn sqlite3_prepare_v2( return SQLITE_MISUSE; } let db: &mut sqlite3 = &mut *raw_db; - let db = db.inner.lock().unwrap(); + let mut db = db.inner.lock().unwrap(); let sql = CStr::from_ptr(sql); let sql = match sql.to_str() { Ok(s) => s, - Err(_) => return SQLITE_MISUSE, + Err(_) => { + db.err_code = SQLITE_MISUSE; + return SQLITE_MISUSE; + } }; let stmt = match db.conn.prepare(sql) { Ok(stmt) => stmt, - Err(_) => return SQLITE_ERROR, + Err(_) => { + db.err_code = SQLITE_ERROR; + return SQLITE_ERROR; + } }; *out_stmt = Box::leak(Box::new(sqlite3_stmt::new(raw_db, stmt))); SQLITE_OK