raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8e959890e732587bf73a09a214ca9bb984e9c623
commit 8e959890e732587bf73a09a214ca9bb984e9c623 Author: Carsten Haitzler (Rasterman) <[email protected]> Date: Thu Feb 9 09:27:41 2017 +0900 elput - use vpath to get xdg runtime to also be setuid safe this time around... use a / at the end of the (:run:) virtual dir path to make it work. --- src/lib/elput/elput_evdev.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/lib/elput/elput_evdev.c b/src/lib/elput/elput_evdev.c index a83ebc1..8067f24 100644 --- a/src/lib/elput/elput_evdev.c +++ b/src/lib/elput/elput_evdev.c @@ -60,16 +60,19 @@ _keyboard_modifiers_update(Elput_Keyboard *kbd, Elput_Seat *seat) static int _keyboard_fd_get(off_t size) { + const char *path; + Eina_Tmpstr *fullname; + long flags; int fd = 0; - char *path; char tmp[PATH_MAX]; - long flags; - Eina_Tmpstr *fullname; - - if (!(path = getenv("XDG_RUNTIME_DIR"))) - return -1; + Efl_Vpath_File *file_obj; + file_obj = efl_vpath_manager_fetch(EFL_VPATH_MANAGER_CLASS, "(:run:)/"); + efl_vpath_file_do(file_obj); + efl_vpath_file_wait(file_obj); + path = efl_vpath_file_result_get(file_obj); snprintf(tmp, sizeof(tmp), "%s/elput-keymap-XXXXXX", path); + efl_del(file_obj); fd = eina_file_mkstemp(tmp, &fullname); if (fd < 0) return -1; --
