mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-28 05:34:11 +01:00
CLI/config: use notmuch_database_reopen
This allows `notmuch config` to use the common configuration information carried by the notmuch_database_t opened at the top level.
This commit is contained in:
parent
b76da87d29
commit
f055e94562
2 changed files with 10 additions and 10 deletions
|
@ -696,9 +696,8 @@ notmuch_config_command_get (notmuch_database_t *notmuch, char *item)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
_set_db_config (notmuch_config_t *config, const char *key, int argc, char **argv)
|
_set_db_config (notmuch_database_t *notmuch, const char *key, int argc, char **argv)
|
||||||
{
|
{
|
||||||
notmuch_database_t *notmuch;
|
|
||||||
const char *val = "";
|
const char *val = "";
|
||||||
|
|
||||||
if (argc > 1) {
|
if (argc > 1) {
|
||||||
|
@ -711,12 +710,11 @@ _set_db_config (notmuch_config_t *config, const char *key, int argc, char **argv
|
||||||
val = argv[0];
|
val = argv[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (notmuch_database_open (notmuch_config_get_database_path (config),
|
if (print_status_database ("notmuch config", notmuch,
|
||||||
NOTMUCH_DATABASE_MODE_READ_WRITE, ¬much))
|
notmuch_database_reopen (notmuch,
|
||||||
|
NOTMUCH_DATABASE_MODE_READ_WRITE)))
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
|
|
||||||
/* XXX Handle UUID mismatch? */
|
|
||||||
|
|
||||||
if (print_status_database ("notmuch config", notmuch,
|
if (print_status_database ("notmuch config", notmuch,
|
||||||
notmuch_database_set_config (notmuch, key, val)))
|
notmuch_database_set_config (notmuch, key, val)))
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
|
@ -729,7 +727,8 @@ _set_db_config (notmuch_config_t *config, const char *key, int argc, char **argv
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
notmuch_config_command_set (notmuch_config_t *config, char *item, int argc, char *argv[])
|
notmuch_config_command_set (notmuch_config_t *config, notmuch_database_t *notmuch, char *item,
|
||||||
|
int argc, char *argv[])
|
||||||
{
|
{
|
||||||
char *group, *key;
|
char *group, *key;
|
||||||
config_key_info_t *key_info;
|
config_key_info_t *key_info;
|
||||||
|
@ -744,7 +743,7 @@ notmuch_config_command_set (notmuch_config_t *config, char *item, int argc, char
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
if (key_info && key_info->in_db) {
|
if (key_info && key_info->in_db) {
|
||||||
return _set_db_config (config, item, argc, argv);
|
return _set_db_config (notmuch, item, argc, argv);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_item_split (item, &group, &key))
|
if (_item_split (item, &group, &key))
|
||||||
|
@ -842,7 +841,7 @@ notmuch_config_command (notmuch_config_t *config, notmuch_database_t *notmuch,
|
||||||
"one argument.\n");
|
"one argument.\n");
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
ret = notmuch_config_command_set (config, argv[1], argc - 2, argv + 2);
|
ret = notmuch_config_command_set (config, notmuch, argv[1], argc - 2, argv + 2);
|
||||||
} else if (strcmp (argv[0], "list") == 0) {
|
} else if (strcmp (argv[0], "list") == 0) {
|
||||||
ret = notmuch_config_command_list (notmuch);
|
ret = notmuch_config_command_list (notmuch);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -5,7 +5,8 @@ test_description='indexing user specified headers'
|
||||||
test_begin_subtest "error adding user header before initializing DB"
|
test_begin_subtest "error adding user header before initializing DB"
|
||||||
notmuch config set index.header.List List-Id 2>&1 | notmuch_dir_sanitize > OUTPUT
|
notmuch config set index.header.List List-Id 2>&1 | notmuch_dir_sanitize > OUTPUT
|
||||||
cat <<EOF > EXPECTED
|
cat <<EOF > EXPECTED
|
||||||
Error: Cannot open database at MAIL_DIR/.notmuch: No such file or directory.
|
notmuch config: Illegal argument for function
|
||||||
|
Cannot reopen closed or nonexistent database
|
||||||
EOF
|
EOF
|
||||||
test_expect_equal_file EXPECTED OUTPUT
|
test_expect_equal_file EXPECTED OUTPUT
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue