strncpy(inc, file_in, 4000);
inc[4001] = 0;
p = strrchr(inc, '/');
+#ifdef _WIN32
+ char *p_backslash = strrchr(inc, '\\');
+ if (p_backslash > p) p = p_backslash;
+#endif
if (!p) strcpy(inc, "./");
else *p = 0;
fd = eina_file_mkstemp("edje_cc.edc-tmp-XXXXXX", &tmpn);
/* get the directory of the current file
* if we haven't already done so
*/
- if ((!dir) && (strrchr(fil, '/')))
+ if (!dir)
{
- dir = mem_strdup(fil);
- slash = strrchr(dir, '/');
- *slash = '\0';
- dir_len = strlen(dir);
+ if (strrchr(fil, '/'))
+ {
+ dir = mem_strdup(fil);
+ slash = strrchr(dir, '/');
+ }
+#ifdef _WIN32
+ if (strrchr(fil, '\\'))
+ {
+ if (!dir) dir = mem_strdup(fil);
+ char *backslash = strrchr(dir, '\\');
+ if (backslash > slash) slash = backslash;
+ }
+#endif
+ if (slash) *slash = '\0';
+ if (dir) dir_len = strlen(dir);
}
l = pp - p + dir_len + 1;
{
snprintf(buf, sizeof (buf), "%s", ptr + 1);
}
-
+#ifdef _WIN32
+ char *ptr_backslash = strrchr(file_in, '\\');
+ if (ptr_backslash)
+ {
+ if (ptr_backslash > ptr)
+ snprintf(buf, sizeof (buf), "%s", ptr_backslash + 1);
+ }
+#endif
source_fetch_file(file_in, buf[0] ? buf : file_in);
}