eina: fix a crash on edje compilation on windows. 47/77247/2
authorBowon Ryu <bowon.ryu@samsung.com>
Wed, 29 Jun 2016 07:32:57 +0000 (16:32 +0900)
committerBowon Ryu <bowon.ryu@samsung.com>
Wed, 29 Jun 2016 07:42:32 +0000 (16:42 +0900)
it doesn't gurantee tmp folder on windows. rather than that, we get a
tmp folder via environment values.

this change could be overwritten with the latest upstream code.

Change-Id: Idb23130dffcc65b8bc59fcdf114e96015c3ff7b8

src/lib/eina/eina_file_common.c

index cdb9ba9..630efc0 100644 (file)
@@ -929,11 +929,18 @@ eina_file_mkstemp(const char *templatename, Eina_Tmpstr **path)
         tmpdir = getenv("TMPDIR");
        if (!tmpdir) tmpdir = getenv("XDG_RUNTIME_DIR");
      }
-   if (!tmpdir) tmpdir = "/tmp";
-
 #ifdef _WIN32
+   /* TIZEN_ONLY(160629): it doesn't gurantee tmp folder on windows. rather than that, we get a
+    * tmp folder via environment values. */
+   tmpdir = getenv("TMP");
+   if (!tmpdir) tmpdir = getenv("TEMP");
+   if (!tmpdir) tmpdir = getenv("USERPROFILE");
+   if (!tmpdir) tmpdir = getenv("WINDIR");
+   if (!tmpdir) tmpdir = "C:\\";
+
    if (strchr(templatename, '\\'))
 #else
+   if (!tmpdir) tmpdir = "/tmp";
    if (strchr(templatename, '/'))
 #endif
    len = snprintf(buffer, PATH_MAX, "%s", templatename);