]> git.notmuchmail.org Git - notmuch/commitdiff
lib/config: expand relative paths when reading from database
authorDavid Bremner <david@tethera.net>
Fri, 7 May 2021 10:27:37 +0000 (07:27 -0300)
committerDavid Bremner <david@tethera.net>
Mon, 10 May 2021 14:12:58 +0000 (11:12 -0300)
This makes the treatment of relative paths consistent between the
database and config files.

lib/config.cc
test/T050-new.sh

index abdc19c3de000b610d57f9f98d71127a51797f7f..0ec66372dec7d2f2e7a0f30eede8db40c86c88d2 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;
index 6410c99cb822123dd34e687e306aa3d1755f2f79..4beae3799c53e310f9ccb01895b85fa85ccd1898 100755 (executable)
@@ -407,7 +407,6 @@ rm home/Maildir
 test_expect_equal_file EXPECTED OUTPUT
 
 test_begin_subtest "Relative mail root (in db) expanded in new"
-test_subtest_known_broken
 ln -s "$PWD/mail" home/Maildir
 notmuch config set --database database.mail_root Maildir
 generate_message