aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/ecore_file/ecore_file.c
diff options
context:
space:
mode:
authorVincent Torri <vincent dot torri at gmail dot com>2015-10-15 14:36:17 +0200
committerCedric BAIL <cedric@osg.samsung.com>2015-12-01 11:35:24 -0800
commit892df20bd45d2e15a7f356a06884d0b121c91c57 (patch)
treee094a68e440747608bb40c28823f4fe299da4c73 /src/lib/ecore_file/ecore_file.c
parentefl: change efl_gfx_shape_cubic_to() api signature to follow other API (cairo... (diff)
downloadefl-892df20bd45d2e15a7f356a06884d0b121c91c57.tar.gz
ecore_file: fix ecore_file_file_get() on Windows
@fix Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Diffstat (limited to '')
-rw-r--r--src/lib/ecore_file/ecore_file.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/lib/ecore_file/ecore_file.c b/src/lib/ecore_file/ecore_file.c
index 07d247bea0..52d203e1c0 100644
--- a/src/lib/ecore_file/ecore_file.c
+++ b/src/lib/ecore_file/ecore_file.c
@@ -29,7 +29,6 @@
/*
* FIXME: the following functions will certainly not work on Windows:
- * ecore_file_file_get()
* ecore_file_app_exe_get()
* ecore_file_escape_name()
*/
@@ -773,6 +772,23 @@ ecore_file_file_get(const char *path)
char *result = NULL;
if (!path) return NULL;
+
+#ifdef _WIN32
+ {
+ char buf[MAX_PATH];
+
+ memcpy(buf, path, strlen(path) + 1);
+ EVIL_PATH_SEP_UNIX_TO_WIN32(buf);
+ if ((result = strrchr(buf, '\\')))
+ {
+ result++;
+ return path + (result - buf);
+ }
+ else
+ return path;
+ }
+#endif
+
if ((result = strrchr(path, '/'))) result++;
else result = (char *)path;