]> git.notmuchmail.org Git - notmuch/blobdiff - lib/config.cc
Merge branch 'release'
[notmuch] / lib / config.cc
index abdc19c3de000b610d57f9f98d71127a51797f7f..7ecc3c7b4ba25f9a65202b4bedc11056b954b600 100644 (file)
@@ -46,6 +46,7 @@ struct _notmuch_config_pairs {
 };
 
 static const char *_notmuch_config_key_to_string (notmuch_config_key_t key);
+static char *_expand_path (void *ctx, const char *key, const char *val);
 
 static int
 _notmuch_config_list_destroy (notmuch_config_list_t *list)
@@ -257,9 +258,10 @@ _notmuch_config_load_from_database (notmuch_database_t *notmuch)
        return status;
 
     for (; notmuch_config_list_valid (list); notmuch_config_list_move_to_next (list)) {
-       _notmuch_string_map_append (notmuch->config,
-                                   notmuch_config_list_key (list),
-                                   notmuch_config_list_value (list));
+       const char *key = notmuch_config_list_key (list);
+       char *normalized_val = _expand_path (list, key, notmuch_config_list_value (list));
+       _notmuch_string_map_append (notmuch->config, key, normalized_val);
+       talloc_free (normalized_val);
     }
 
     return status;
@@ -316,7 +318,7 @@ notmuch_config_values_valid (notmuch_config_values_t *values)
 const char *
 notmuch_config_values_get (notmuch_config_values_t *values)
 {
-    return talloc_strndup (values, values->iterator, values->tok_len);
+    return talloc_strndup (values->children, values->iterator, values->tok_len);
 }
 
 void
@@ -591,6 +593,8 @@ _notmuch_config_key_to_string (notmuch_config_key_t key)
        return "user.other_email";
     case NOTMUCH_CONFIG_USER_NAME:
        return "user.name";
+    case NOTMUCH_CONFIG_AUTOCOMMIT:
+       return "database.autocommit";
     default:
        return NULL;
     }
@@ -636,6 +640,8 @@ _notmuch_config_default (notmuch_database_t *notmuch, notmuch_config_key_t key)
        return email;
     case NOTMUCH_CONFIG_NEW_IGNORE:
        return "";
+    case NOTMUCH_CONFIG_AUTOCOMMIT:
+       return "8000";
     case NOTMUCH_CONFIG_HOOK_DIR:
     case NOTMUCH_CONFIG_BACKUP_DIR:
     case NOTMUCH_CONFIG_OTHER_EMAIL: