]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-sql: driver-sqlite - Use sqlite3_errstr()
authorAki Tuomi <aki.tuomi@open-xchange.com>
Mon, 20 Oct 2025 06:42:08 +0000 (09:42 +0300)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Mon, 20 Oct 2025 16:59:30 +0000 (19:59 +0300)
This allows looking up error for the rc we are interested.

src/lib-sql/driver-sqlite.c

index 67913eabcc37ecfad98a4fe9a98ad9c394d18813..65783f839a8a0aec83725ce635d65568ed515f4f 100644 (file)
@@ -150,11 +150,11 @@ static int driver_sqlite_connect(struct sql_db *_db)
                break;
        case SQLITE_NOMEM:
                i_fatal_status(FATAL_OUTOFMEM, "open(%s) failed: %s",
-                              db->set->path, sqlite3_errmsg(db->sqlite));
+                              db->set->path, sqlite3_errstr(db->connect_rc));
        default:
                i_free(_db->last_connect_error);
                _db->last_connect_error = i_strdup_printf("open(%s) failed: %s", db->set->path,
-                                                         sqlite3_errmsg(db->sqlite));
+                                                         sqlite3_errstr(db->connect_rc));
                e_error(_db->event, "%s", _db->last_connect_error);
                break;
        }
@@ -391,8 +391,6 @@ static void driver_sqlite_result_free(struct sql_result *_result)
 {
        struct sqlite_result *result =
                container_of(_result, struct sqlite_result, api);
-       struct sqlite_db *db =
-               container_of(result->api.db, struct sqlite_db, api);
        int rc;
 
        if (_result->callback)
@@ -402,10 +400,10 @@ static void driver_sqlite_result_free(struct sql_result *_result)
                rc = sqlite3_finalize(result->stmt);
                if (rc == SQLITE_NOMEM) {
                        i_fatal_status(FATAL_OUTOFMEM, "finalize failed: %s (%d)",
-                                      sqlite3_errmsg(db->sqlite), rc);
+                                      sqlite3_errstr(rc), rc);
                } else if (rc != SQLITE_OK) {
                        e_warning(_result->event, "finalize failed: %s (%d)",
-                                 sqlite3_errmsg(db->sqlite), rc);
+                                 sqlite3_errstr(rc), rc);
                }
                i_free(result->row);
        }