[PATCH] config: Expand ~ to $HOME
Bijan Chokoufe Nejad
bijan at chokoufe.com
Sun May 8 08:49:34 PDT 2016
Very useful in case you want to keep your .notmuch-config synchronized across
machines where you have different user names.
---
Not sure this is completely plattform independent.
I also don't know how to implement a unit test for this.
---
notmuch-config.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/notmuch-config.c b/notmuch-config.c
index d252bb2..c9f26ef 100644
--- a/notmuch-config.c
+++ b/notmuch-config.c
@@ -605,7 +605,16 @@ _config_set_list (notmuch_config_t *config,
const char *
notmuch_config_get_database_path (notmuch_config_t *config)
{
- return _config_get (config, &config->database_path, "database", "path");
+ const char* path = _config_get (config, &config->database_path, "database", "path");
+ if (path != NULL && path[0] == '~') {
+ char *home_path = getenv("HOME");
+ char *shortened_path = malloc( sizeof(char) * ( strlen (path) - 1 ) );
+ strncpy(shortened_path, path + 2, strlen(path));
+ return talloc_asprintf (NULL, "%s/%s", home_path, shortened_path);
+ }
+ else {
+ return path;
+ }
}
void
--
1.9.1
More information about the notmuch
mailing list