"\n"
" For more information about notmuch, see https://notmuchmail.org";
-struct config_group {
+static const struct config_group {
const char *group_name;
const char *comment;
} group_comment_table [] = {
return NULL;
}
- if (config->is_new)
- g_key_file_set_comment (config->key_file, NULL, NULL,
- toplevel_config_comment, NULL);
-
for (size_t i = 0; i < ARRAY_SIZE (group_comment_table); i++) {
const char *name = group_comment_table[i].group_name;
if (! g_key_file_has_group (config->key_file, name)) {
/* Force group to exist before adding comment */
g_key_file_set_value (config->key_file, name, "dummy_key", "dummy_val");
g_key_file_remove_key (config->key_file, name, "dummy_key", NULL);
- g_key_file_set_comment (config->key_file, name, NULL,
- group_comment_table[i].comment, NULL);
+ if (config->is_new && (i == 0) ) {
+ const char *comment;
+
+ comment = talloc_asprintf (config, "%s\n%s",
+ toplevel_config_comment,
+ group_comment_table[i].comment);
+ g_key_file_set_comment (config->key_file, name, NULL, comment,
+ NULL);
+ } else {
+ g_key_file_set_comment (config->key_file, name, NULL,
+ group_comment_table[i].comment, NULL);
+ }
}
}
return config;
const char *list[],
size_t length)
{
- g_key_file_set_string_list (config->key_file, group, key, list, length);
+ if (length > 1)
+ g_key_file_set_string_list (config->key_file, group, key, list, length);
+ else
+ g_key_file_set_string (config->key_file, group, key, list[0]);
}
void
bool (*validate)(const char *);
} config_key_info_t;
-static struct config_key
+static const struct config_key
config_key_table[] = {
{ "index.decrypt", false, NULL },
{ "index.header.", true, validate_field_name },
{ "query.", true, NULL },
+ { "squery.", true, validate_field_name },
};
-static config_key_info_t *
+static const config_key_info_t *
_config_key_info (const char *item)
{
for (size_t i = 0; i < ARRAY_SIZE (config_key_table); i++) {
{
notmuch_config_values_t *list;
- for (list = notmuch_config_get_values_string (notmuch, item);
- notmuch_config_values_valid (list);
- notmuch_config_values_move_to_next (list)) {
- const char *val = notmuch_config_values_get (list);
- puts (val);
+ if (STRNCMP_LITERAL (item, BUILT_WITH_PREFIX) == 0) {
+ if (notmuch_built_with (item + strlen (BUILT_WITH_PREFIX)))
+ puts ("true");
+ else
+ puts ("false");
+ } else {
+ for (list = notmuch_config_get_values_string (notmuch, item);
+ notmuch_config_values_valid (list);
+ notmuch_config_values_move_to_next (list)) {
+ const char *val = notmuch_config_values_get (list);
+ puts (val);
+ }
}
return EXIT_SUCCESS;
}
int argc, char *argv[])
{
char *group, *key;
- config_key_info_t *key_info;
+ const config_key_info_t *key_info;
notmuch_conffile_t *config;
bool update_database = false;
int opt_index, ret;
printf ("%sretry_lock=%s\n",
BUILT_WITH_PREFIX,
notmuch_built_with ("retry_lock") ? "true" : "false");
+ printf ("%ssexp_queries=%s\n",
+ BUILT_WITH_PREFIX,
+ notmuch_built_with ("sexp_queries") ? "true" : "false");
}
static int
if (opt_index < 0)
return EXIT_FAILURE;
- if (notmuch_requested_db_uuid)
- fprintf (stderr, "Warning: ignoring --uuid=%s\n",
- notmuch_requested_db_uuid);
-
/* skip at least subcommand argument */
argc -= opt_index;
argv += opt_index;