#include <string.h>
#include <Eina.h>
-#include <Ecore.h>
+#include "Ecore.h"
+#include "ecore_private.h"
#include <Ecore_Buffer.h>
#ifndef O_BINARY
{
Ecore_Buffer_Shm_Data* b;
char *name;
- static const char tmp[] = "/ecore-buffer-shared-XXXXXX";
+ static const char tmp[] = "ecore-buffer-shared-XXXXXX";
const char *path;
int fd, size, page_size;
-
- path = getenv("XDG_RUNTIME_DIR");
- if (!path)
- {
- path = getenv("TMPDIR");
- if (!path) path = "/tmp";
- }
+ Efl_Vpath_File *file_obj;
page_size = eina_cpu_page_size();
b->size = page_size * (((b->stride * b->h) + (page_size - 1)) / page_size);
b->am_owner = EINA_TRUE;
+ 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);
size = strlen(path) + sizeof(tmp);
name = malloc(size);
if (!name) goto err;
strcpy(name, path);
strcat(name, tmp);
+ efl_del(file_obj);
fd = mkostemp(name, O_CLOEXEC);
if (fd < 0) goto err_fd;