config-parser: Honor XDG_CONFIG_DIRS
authorOssama Othman <ossama.othman@intel.com>
Tue, 14 May 2013 16:48:26 +0000 (09:48 -0700)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 14 May 2013 18:36:37 +0000 (14:36 -0400)
commita50e6e4c500e3080b8df7ec14c7e42741477a423
tree0cae5b3f325814e7f2d859eaa3f2c2415c69eb33
parent95eb3a2eb470bd341ab078c7e48a28ffebc6dde1
config-parser: Honor XDG_CONFIG_DIRS

This set of changes adds support for searching for a given config file
in the directories listed in $XDG_CONFIG_DIRS if it wasn't found in
$XDG_CONFIG_HOME or ~/.config.  This allows packages to install custom
config files in /etc/xdg/weston, for example, thus allowing them to
avoid dealing with home directories.

To avoid a TOCTOU race the config file is actually open()ed during the
search.  Its file descriptor is returned and stored in the compositor
for later use when performing subsequent config file parses.

Signed-off-by: Ossama Othman <ossama.othman@intel.com>
22 files changed:
clients/desktop-shell.c
clients/tablet-shell.c
clients/terminal.c
clients/window.c
man/weston.ini.man
shared/config-parser.c
shared/config-parser.h
src/cms-static.c
src/compositor-drm.c
src/compositor-fbdev.c
src/compositor-headless.c
src/compositor-rdp.c
src/compositor-rpi.c
src/compositor-wayland.c
src/compositor-x11.c
src/compositor.c
src/compositor.h
src/shell.c
src/tablet-shell.c
src/text-backend.c
src/xwayland/launcher.c
tests/weston-test.c