[RFC patch 1/5] cli/config: refactor _stored_in_db
David Bremner
david at tethera.net
Sat Nov 17 06:08:57 PST 2018
This will make it easier to add other prefixes that are stored in the
database, compared to special casing each one as "query." was.
---
notmuch-config.c | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/notmuch-config.c b/notmuch-config.c
index bf77cc9d..1517d0ff 100644
--- a/notmuch-config.c
+++ b/notmuch-config.c
@@ -821,17 +821,26 @@ _item_split (char *item, char **group, char **key)
#define BUILT_WITH_PREFIX "built_with."
+struct config_key {
+ const char *name;
+ bool prefix;
+};
+
static bool
_stored_in_db (const char *item)
{
- const char * db_configs[] = {
- "index.decrypt",
+ struct config_key db_configs[] = {
+ {"index.decrypt", false},
+ {"query.", true},
};
- if (STRNCMP_LITERAL (item, "query.") == 0)
- return true;
- for (size_t i = 0; i < ARRAY_SIZE (db_configs); i++)
- if (strcmp (item, db_configs[i]) == 0)
+ for (size_t i = 0; i < ARRAY_SIZE (db_configs); i++) {
+ if (db_configs[i].prefix &&
+ strncmp (item, db_configs[i].name,
+ strlen(db_configs[i].name)) == 0)
return true;
+ if (strcmp (item, db_configs[i].name) == 0)
+ return true;
+ }
return false;
}
--
2.19.1
More information about the notmuch
mailing list