alsa-mixer: Respect XDG base directory spec when loading path configs

Try $XDG_DATA_HOME, then $XDG_DATA_DIRS, and finally fall back to old
behaviour (prefix-defined directory).

core-util: Ignore non-absolute XDG base dirs

These are invalid per the spec.

Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/862
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/293>
This commit is contained in:
SimonP 2020-05-07 16:13:27 +01:00 committed by PulseAudio Marge Bot
parent cb91d7a12e
commit 9b0ae8327d
4 changed files with 127 additions and 9 deletions

View file

@ -37,6 +37,7 @@
#include <pulsecore/i18n.h>
#include <pulsecore/macro.h>
#include <pulsecore/socket.h>
#include <pulsecore/dynarray.h>
#ifndef PACKAGE
#error "Please include config.h before including this file!"
@ -142,6 +143,8 @@ char *pa_get_state_dir(void);
char *pa_get_home_dir_malloc(void);
int pa_append_to_home_dir(const char *path, char **_r);
int pa_get_config_home_dir(char **_r);
int pa_get_data_home_dir(char **_r);
int pa_get_data_dirs(pa_dynarray **_r);
int pa_append_to_config_home_dir(const char *path, char **_r);
char *pa_get_binary_name_malloc(void);
char *pa_runtime_path(const char *fn);