forked from enlightenment/enventor
newfile: Set temporary path to default edc path by eina_file_mkstemp().
This commit is contained in:
parent
2e80073cfd
commit
6c4d881777
|
@ -53,10 +53,10 @@ config_edj_path_update(config_data *cd)
|
|||
{
|
||||
char filename[PATH_MAX];
|
||||
snprintf(filename, (ext - file) + 1, "%s", file);
|
||||
snprintf(buf, sizeof(buf), "%s_XXXXXX.edj", filename);
|
||||
snprintf(buf, sizeof(buf), "%s.edj", filename);
|
||||
}
|
||||
else
|
||||
snprintf(buf, sizeof(buf), "%s_XXXXXX.edj", file);
|
||||
snprintf(buf, sizeof(buf), "%s.edj", file);
|
||||
|
||||
if (!eina_file_mkstemp(buf, &tmp_path))
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include "common.h"
|
||||
|
||||
const char *DEFAULT_EDC_PATH_FORMAT = "/tmp/enventor_%d.edc";
|
||||
const char *DEFAULT_EDC_FORMAT = "enventor_XXXXXX.edc";
|
||||
char EDJE_PATH[PATH_MAX];
|
||||
|
|
|
@ -278,7 +278,7 @@ tools_set(Evas_Object *enventor)
|
|||
base_tools_set(tools);
|
||||
}
|
||||
|
||||
static void
|
||||
static Eina_Bool
|
||||
args_dispatch(int argc, char **argv, char *edc_path, char *img_path,
|
||||
char *snd_path, char *fnt_path, char *dat_path,
|
||||
Eina_Bool *template_new)
|
||||
|
@ -358,10 +358,17 @@ args_dispatch(int argc, char **argv, char *edc_path, char *img_path,
|
|||
}
|
||||
|
||||
defaults:
|
||||
if (default_edc) sprintf(edc_path, DEFAULT_EDC_PATH_FORMAT, getpid());
|
||||
if (default_edc)
|
||||
{
|
||||
Eina_Tmpstr *tmp_path;
|
||||
eina_file_mkstemp(DEFAULT_EDC_FORMAT, &tmp_path);
|
||||
sprintf(edc_path, "%s", (const char *)tmp_path);
|
||||
eina_tmpstr_del(tmp_path);
|
||||
}
|
||||
return default_edc;
|
||||
}
|
||||
|
||||
static void
|
||||
static Eina_Bool
|
||||
config_data_set(app_data *ad, int argc, char **argv)
|
||||
{
|
||||
char edc_path[PATH_MAX] = { 0, };
|
||||
|
@ -371,11 +378,14 @@ config_data_set(app_data *ad, int argc, char **argv)
|
|||
char dat_path[PATH_MAX] = { 0, };
|
||||
Eina_Bool template_new = EINA_FALSE;
|
||||
|
||||
args_dispatch(argc, argv, edc_path, img_path, snd_path, fnt_path, dat_path,
|
||||
&template_new);
|
||||
Eina_Bool default_edc = args_dispatch(argc, argv, edc_path, img_path,
|
||||
snd_path, fnt_path, dat_path,
|
||||
&template_new);
|
||||
config_init(edc_path, img_path, snd_path, fnt_path, dat_path);
|
||||
config_update_cb_set(config_update_cb, ad);
|
||||
ad->template_new = template_new;
|
||||
|
||||
return default_edc;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -876,8 +886,8 @@ init(app_data *ad, int argc, char **argv)
|
|||
|
||||
elm_setup();
|
||||
|
||||
config_data_set(ad, argc, argv);
|
||||
newfile_default_set();
|
||||
Eina_Bool default_edc = config_data_set(ad, argc, argv);
|
||||
newfile_default_set(default_edc);
|
||||
base_gui_init();
|
||||
statusbar_set();
|
||||
enventor_setup(ad);
|
||||
|
|
|
@ -38,7 +38,12 @@ newfile_set(Evas_Object *enventor, Eina_Bool template_new)
|
|||
if (template_new && config_edc_path_get())
|
||||
sprintf(path, "%s", config_edc_path_get());
|
||||
else
|
||||
sprintf(path, DEFAULT_EDC_PATH_FORMAT, getpid());
|
||||
{
|
||||
Eina_Tmpstr *tmp_path;
|
||||
eina_file_mkstemp(DEFAULT_EDC_FORMAT, &tmp_path);
|
||||
sprintf(path, "%s", (const char *)tmp_path);
|
||||
eina_tmpstr_del(tmp_path);
|
||||
}
|
||||
success = eina_file_copy(buf, path,
|
||||
EINA_FILE_COPY_DATA, NULL, NULL);
|
||||
if (!success)
|
||||
|
@ -52,13 +57,13 @@ newfile_set(Evas_Object *enventor, Eina_Bool template_new)
|
|||
}
|
||||
|
||||
void
|
||||
newfile_default_set(void)
|
||||
newfile_default_set(Eina_Bool default_edc)
|
||||
{
|
||||
Eina_Bool success = EINA_TRUE;
|
||||
char buf[PATH_MAX];
|
||||
snprintf(buf, sizeof(buf), "%s/templates/basic.edc",
|
||||
elm_app_data_dir_get());
|
||||
if (!ecore_file_exists(config_edc_path_get()))
|
||||
if (default_edc)
|
||||
{
|
||||
success = eina_file_copy(buf,config_edc_path_get(),
|
||||
EINA_FILE_COPY_DATA, NULL, NULL);
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
extern const char *DEFAULT_EDC_PATH_FORMAT;
|
||||
extern const char *DEFAULT_EDC_FORMAT;
|
||||
extern char EDJE_PATH[PATH_MAX];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
void newfile_default_set(void);
|
||||
void newfile_default_set(Eina_Bool default_edc);
|
||||
void newfile_set(Evas_Object *enventor, Eina_Bool template_new);
|
||||
Evas_Object * newfile_create(Evas_Object *parent, Evas_Smart_Cb selected_cb, void *data);
|
||||
|
||||
|
|
Loading…
Reference in New Issue