From 290730ffc05735874a584063a838a8a30ce2baca Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 2 Sep 2008 19:31:01 +0200 Subject: export ca_get_data_home() and ca_get_data_dirs() --- src/sound-theme-spec.c | 21 ++++++++++++++------- src/sound-theme-spec.h | 3 +++ 2 files changed, 17 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/sound-theme-spec.c b/src/sound-theme-spec.c index ffa5b5b..e906e9a 100644 --- a/src/sound-theme-spec.c +++ b/src/sound-theme-spec.c @@ -56,7 +56,7 @@ struct ca_theme_data { ca_bool_t loaded_fallback_theme; }; -static int get_data_home(char **e) { +int ca_get_data_home(char **e) { const char *env, *subdir; char *r; ca_return_val_if_fail(e, CA_ERROR_INVALID); @@ -314,6 +314,15 @@ fail: return ret; } +const char *ca_get_data_dirs(void) { + const char *g; + + if (!(g = getenv("XDG_DATA_DIRS")) || *g == 0) + return "/usr/local/share:/usr/share"; + + return g; +} + static int load_theme_dir(ca_theme_data *t, const char *name) { int ret; char *e; @@ -326,7 +335,7 @@ static int load_theme_dir(ca_theme_data *t, const char *name) { if (ca_streq(name, FALLBACK_THEME)) t->loaded_fallback_theme = TRUE; - if ((ret = get_data_home(&e)) < 0) + if ((ret = ca_get_data_home(&e)) < 0) return ret; if (e) { @@ -337,8 +346,7 @@ static int load_theme_dir(ca_theme_data *t, const char *name) { return ret; } - if (!(g = getenv("XDG_DATA_DIRS")) || *g == 0) - g = "/usr/local/share:/usr/share"; + g = ca_get_data_dirs(); for (;;) { size_t k; @@ -603,7 +611,7 @@ static int find_sound_in_subdir( ca_return_val_if_fail(sfopen, CA_ERROR_INVALID); ca_return_val_if_fail(name, CA_ERROR_INVALID); - if ((ret = get_data_home(&e)) < 0) + if ((ret = ca_get_data_home(&e)) < 0) return ret; if (e) { @@ -614,8 +622,7 @@ static int find_sound_in_subdir( return ret; } - if (!(g = getenv("XDG_DATA_DIRS")) || *g == 0) - g = "/usr/local/share:/usr/share"; + g = ca_get_data_dirs(); for (;;) { size_t k; diff --git a/src/sound-theme-spec.h b/src/sound-theme-spec.h index 57278b9..7511eed 100644 --- a/src/sound-theme-spec.h +++ b/src/sound-theme-spec.h @@ -30,4 +30,7 @@ int ca_lookup_sound(ca_sound_file **f, ca_theme_data **t, ca_proplist *cp, ca_pr int ca_lookup_sound_with_callback(ca_sound_file **f, ca_sound_file_open_callback_t sfopen, ca_theme_data **t, ca_proplist *cp, ca_proplist *sp); void ca_theme_data_free(ca_theme_data *t); +int ca_get_data_home(char **e); +const char *ca_get_data_dirs(void); + #endif -- cgit