From 1040e7aa077197e5295180ef54576ea39c298a36 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Fri, 7 May 2021 07:27:37 -0300 Subject: [PATCH] lib/config: expand relative paths when reading from database 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 abdc19c3..0ec66372 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 6410c99c..4beae379 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