forked from enlightenment/efl
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.
This commit is contained in:
parent
0f446c10be
commit
8e959890e7
|
@ -60,16 +60,19 @@ _keyboard_modifiers_update(Elput_Keyboard *kbd, Elput_Seat *seat)
|
||||||
static int
|
static int
|
||||||
_keyboard_fd_get(off_t size)
|
_keyboard_fd_get(off_t size)
|
||||||
{
|
{
|
||||||
int fd = 0;
|
const char *path;
|
||||||
char *path;
|
|
||||||
char tmp[PATH_MAX];
|
|
||||||
long flags;
|
|
||||||
Eina_Tmpstr *fullname;
|
Eina_Tmpstr *fullname;
|
||||||
|
long flags;
|
||||||
|
int fd = 0;
|
||||||
|
char tmp[PATH_MAX];
|
||||||
|
Efl_Vpath_File *file_obj;
|
||||||
|
|
||||||
if (!(path = getenv("XDG_RUNTIME_DIR")))
|
file_obj = efl_vpath_manager_fetch(EFL_VPATH_MANAGER_CLASS, "(:run:)/");
|
||||||
return -1;
|
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);
|
snprintf(tmp, sizeof(tmp), "%s/elput-keymap-XXXXXX", path);
|
||||||
|
efl_del(file_obj);
|
||||||
|
|
||||||
fd = eina_file_mkstemp(tmp, &fullname);
|
fd = eina_file_mkstemp(tmp, &fullname);
|
||||||
if (fd < 0) return -1;
|
if (fd < 0) return -1;
|
||||||
|
|
Loading…
Reference in New Issue