[PATCH 4/9] lib/config: expand relative paths when reading from database

Subject: [PATCH 4/9] lib/config: expand relative paths when reading from database

Date: Fri, 7 May 2021 08:30:24 -0300

To: notmuch@notmuchmail.org

Cc: David Bremner

From: David Bremner


This makes the treatment of relative paths consistent between the
database and config files.
---
 lib/config.cc    | 8 +++++---
 test/T050-new.sh | 1 -
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/lib/config.cc b/lib/config.cc
index e08c6bf7..74339694 100644
--- a/lib/config.cc
+++ b/lib/config.cc
@@ -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;
diff --git a/test/T050-new.sh b/test/T050-new.sh
index f28497bf..dfabcf03 100755
--- a/test/T050-new.sh
+++ b/test/T050-new.sh
@@ -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
-- 
2.30.2
_______________________________________________
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-leave@notmuchmail.org

Thread: