diff --git a/legacy/edje/src/bin/edje_cc.c b/legacy/edje/src/bin/edje_cc.c index 5b3ade7eee..93b7d509a5 100644 --- a/legacy/edje/src/bin/edje_cc.c +++ b/legacy/edje/src/bin/edje_cc.c @@ -16,6 +16,7 @@ Eina_List *img_dirs = NULL; Eina_List *fnt_dirs = NULL; Eina_List *defines = NULL; char *file_in = NULL; +char *tmp_dir = NULL; char *file_out = NULL; char *progname = NULL; int verbose = 0; @@ -37,6 +38,7 @@ main_help(void) "\n" "-id image/directory Add a directory to look in for relative path images\n" "-fd font/directory Add a directory to look in for relative path fonts\n" + "-td temp/directory Directory to store temporary files\n" "-v Verbose output\n" "-no-lossy Do NOT allow images to be lossy\n" "-no-comp Do NOT allow images to be stored with lossless compression\n" @@ -58,6 +60,9 @@ main(int argc, char **argv) eina_init(); + tmp_dir = getenv("TMPDIR"); + + progname = argv[0]; for (i = 1; i < argc; i++) { @@ -92,6 +97,12 @@ main(int argc, char **argv) i++; fnt_dirs = eina_list_append(fnt_dirs, argv[i]); } + else if ((!strcmp(argv[i], "-td") || !strcmp(argv[i], "--tmp_dir")) && (i < (argc - 1))) + { + i++; + if (!tmp_dir) + tmp_dir = argv[i]; + } else if ((!strcmp(argv[i], "-min-quality")) && (i < (argc - 1))) { i++; diff --git a/legacy/edje/src/bin/edje_cc.h b/legacy/edje/src/bin/edje_cc.h index a27d586416..b62feb9930 100644 --- a/legacy/edje/src/bin/edje_cc.h +++ b/legacy/edje/src/bin/edje_cc.h @@ -124,6 +124,7 @@ char *mem_strdup(const char *s); extern Eina_List *img_dirs; extern Eina_List *fnt_dirs; extern char *file_in; +extern char *tmp_dir; extern char *file_out; extern char *progname; extern int verbose; diff --git a/legacy/edje/src/bin/edje_cc_out.c b/legacy/edje/src/bin/edje_cc_out.c index 90f7f9d16b..d5a29577ab 100644 --- a/legacy/edje/src/bin/edje_cc_out.c +++ b/legacy/edje/src/bin/edje_cc_out.c @@ -762,10 +762,11 @@ data_write_scripts(Eet_File *ef) Eina_List *l; int i; + if (!tmp_dir) #ifdef HAVE_EVIL - char *tmpdir = evil_tmpdir_get(); + tmp_dir = evil_tmpdir_get(); #else - char *tmpdir = "/tmp"; + tmp_dir = "/tmp"; #endif for (i = 0, l = codes; l; l = eina_list_next(l), i++) @@ -779,7 +780,8 @@ data_write_scripts(Eet_File *ef) continue; char tmpn[4096]; - snprintf(tmpn, PATH_MAX, "%s/edje_cc.sma-tmp-XXXXXX", tmpdir); + snprintf(tmpn, PATH_MAX, "%s/edje_cc.sma-tmp-XXXXXX", tmp_dir); + printf("%s\n", tmpn); fd = mkstemp(tmpn); if (fd < 0) error_and_abort(ef, "Unable to open temp file \"%s\" for script " @@ -789,7 +791,8 @@ data_write_scripts(Eet_File *ef) close(fd); char tmpo[4096]; - snprintf(tmpo, PATH_MAX, "%s/edje_cc.amx-tmp-XXXXXX", tmpdir); + snprintf(tmpo, PATH_MAX, "%s/edje_cc.amx-tmp-XXXXXX", tmp_dir); + printf("%s\n", tmpn); fd = mkstemp(tmpo); if (fd < 0) { diff --git a/legacy/edje/src/bin/edje_cc_parse.c b/legacy/edje/src/bin/edje_cc_parse.c index ad492ce55d..6875cd4d7d 100644 --- a/legacy/edje/src/bin/edje_cc_parse.c +++ b/legacy/edje/src/bin/edje_cc_parse.c @@ -641,12 +641,12 @@ compile(void) int fd; off_t size; char *data, *p; - const char *tmpdir; + if (!tmp_dir) #ifdef HAVE_EVIL - tmpdir = evil_tmpdir_get(); + tmp_dir = evil_tmpdir_get(); #else - tmpdir = "/tmp"; + tmp_dir = "/tmp"; #endif strncpy(inc, file_in, 4000); @@ -654,7 +654,8 @@ compile(void) p = strrchr(inc, '/'); if (!p) strcpy(inc, "./"); else *p = 0; - snprintf (tmpn, PATH_MAX, "%s/edje_cc.edc-tmp-XXXXXX", tmpdir); + snprintf (tmpn, PATH_MAX, "%s/edje_cc.edc-tmp-XXXXXX", tmp_dir); + printf("%s\n", tmpn); fd = mkstemp(tmpn); if (fd >= 0) {