X-Git-Url: https://git.cworth.org/git?p=notmuch;a=blobdiff_plain;f=lib%2Fdatabase.cc;fp=lib%2Fdatabase.cc;h=c05d70d34842f1fd1f264cc61a45fbb6348b95ca;hp=df83e2048673b235e6c1055ccb47d39923f480a7;hb=3f27cce71f9f154cb0c2134c32d41c31eb62a239;hpb=7e654e2a456c552052e9e50b83da73b4d31d8f2b diff --git a/lib/database.cc b/lib/database.cc index df83e204..c05d70d3 100644 --- a/lib/database.cc +++ b/lib/database.cc @@ -476,6 +476,11 @@ _notmuch_database_ensure_writable (notmuch_database_t *notmuch) return NOTMUCH_STATUS_READ_ONLY_DATABASE; } + if (! notmuch->open) { + _notmuch_database_log (notmuch, "Cannot write to a closed database.\n"); + return NOTMUCH_STATUS_CLOSED_DATABASE; + } + return NOTMUCH_STATUS_SUCCESS; } @@ -852,9 +857,8 @@ notmuch_database_upgrade (notmuch_database_t *notmuch, notmuch_query_t *query = NULL; unsigned int count = 0, total = 0; - status = _notmuch_database_ensure_writable (notmuch); - if (status) - return status; + if (_notmuch_database_mode (notmuch) != NOTMUCH_DATABASE_MODE_READ_WRITE) + return NOTMUCH_STATUS_READ_ONLY_DATABASE; db = notmuch->writable_xapian_db;