From a3ad5e775187ed04184f76e21cfbf44782f85561 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Eric=20Janouch?= Date: Sun, 26 Sep 2021 08:13:58 +0200 Subject: Ignore empty XDG_*_DIRS env. variables As the specification says we should. GLib does this as well. It is still possible to achieve an empty set by using ":", which are two non-absolute paths that should be ignored. GLib doesn't implement this. Thus, we're now better than GLib. --- liberty.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/liberty.c b/liberty.c index e323149..506793e 100644 --- a/liberty.c +++ b/liberty.c @@ -3247,7 +3247,7 @@ get_xdg_config_dirs (struct strv *out) str_free (&config_home); const char *xdg_config_dirs; - if (!(xdg_config_dirs = getenv ("XDG_CONFIG_DIRS"))) + if (!(xdg_config_dirs = getenv ("XDG_CONFIG_DIRS")) || !*xdg_config_dirs) xdg_config_dirs = "/etc/xdg"; cstr_split (xdg_config_dirs, ":", true, out); } @@ -3272,7 +3272,7 @@ get_xdg_data_dirs (struct strv *out) str_free (&data_home); const char *xdg_data_dirs; - if (!(xdg_data_dirs = getenv ("XDG_DATA_DIRS"))) + if (!(xdg_data_dirs = getenv ("XDG_DATA_DIRS")) || !*xdg_data_dirs) xdg_data_dirs = "/usr/local/share/:/usr/share/"; cstr_split (xdg_data_dirs, ":", true, out); } -- cgit v1.2.3