]> git.notmuchmail.org Git - notmuch/blobdiff - lib/config.cc
lib/open: fix leaks calling _trial_open
[notmuch] / lib / config.cc
index 483a02efac8c3287df6fae66f83211e92da7bb9a..8bd3c35a512794e2a5c22b7cb3bc4f4e3543ec1a 100644 (file)
@@ -406,8 +406,12 @@ _notmuch_config_key_to_string (notmuch_config_key_t key)
     switch (key) {
     case NOTMUCH_CONFIG_DATABASE_PATH:
        return "database.path";
+    case NOTMUCH_CONFIG_MAIL_ROOT:
+       return "database.mail_root";
     case NOTMUCH_CONFIG_HOOK_DIR:
        return "database.hook_dir";
+    case NOTMUCH_CONFIG_BACKUP_DIR:
+       return "database.backup_dir";
     case NOTMUCH_CONFIG_EXCLUDE_TAGS:
        return "search.exclude_tags";
     case NOTMUCH_CONFIG_NEW_TAGS:
@@ -428,7 +432,7 @@ _notmuch_config_key_to_string (notmuch_config_key_t key)
 }
 
 static const char *
-_notmuch_config_default (void *ctx, notmuch_config_key_t key)
+_notmuch_config_default (notmuch_database_t *notmuch, notmuch_config_key_t key)
 {
     char *path;
 
@@ -436,11 +440,14 @@ _notmuch_config_default (void *ctx, notmuch_config_key_t key)
     case NOTMUCH_CONFIG_DATABASE_PATH:
        path = getenv ("MAILDIR");
        if (path)
-           path = talloc_strdup (ctx, path);
+           path = talloc_strdup (notmuch, path);
        else
-           path = talloc_asprintf (ctx, "%s/mail",
+           path = talloc_asprintf (notmuch, "%s/mail",
                                    getenv ("HOME"));
        return path;
+    case NOTMUCH_CONFIG_MAIL_ROOT:
+       /* by default, mail root is the same as database path */
+       return notmuch_database_get_path (notmuch);
     case NOTMUCH_CONFIG_EXCLUDE_TAGS:
        return "";
     case NOTMUCH_CONFIG_NEW_TAGS:
@@ -448,6 +455,7 @@ _notmuch_config_default (void *ctx, notmuch_config_key_t key)
     case NOTMUCH_CONFIG_SYNC_MAILDIR_FLAGS:
        return "true";
     case NOTMUCH_CONFIG_HOOK_DIR:
+    case NOTMUCH_CONFIG_BACKUP_DIR:
     case NOTMUCH_CONFIG_NEW_IGNORE:
     case NOTMUCH_CONFIG_USER_NAME:
     case NOTMUCH_CONFIG_PRIMARY_EMAIL: