This fixes a potential memory leak, and makes the behaviour of
notmuch_database_load_config (somewhat) consistent with
n_d_{open,create} with config.
if (status_string)
*status_string = message;
if (status_string)
*status_string = message;
+ if (status &&
+ status != NOTMUCH_STATUS_NO_DATABASE
+ && status != NOTMUCH_STATUS_NO_CONFIG) {
+ notmuch_database_destroy (notmuch);
+ notmuch = NULL;
+ }
+
if (database)
*database = notmuch;
if (database)
*database = notmuch;
test_expect_equal_file EXPECTED OUTPUT
test_begin_subtest "load_config: database set to NULL on fatal error"
test_expect_equal_file EXPECTED OUTPUT
test_begin_subtest "load_config: database set to NULL on fatal error"
-test_subtest_known_broken
cat c_head3 - c_tail3 <<'EOF' | test_C
notmuch_status_t st = notmuch_database_load_config("relative", NULL, NULL, &db, NULL);
EOF
cat c_head3 - c_tail3 <<'EOF' | test_C
notmuch_status_t st = notmuch_database_load_config("relative", NULL, NULL, &db, NULL);
EOF