From 892df20bd45d2e15a7f356a06884d0b121c91c57 Mon Sep 17 00:00:00 2001 From: Vincent Torri Date: Thu, 15 Oct 2015 14:36:17 +0200 Subject: [PATCH] ecore_file: fix ecore_file_file_get() on Windows @fix Signed-off-by: Cedric BAIL --- src/lib/ecore_file/ecore_file.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_file/ecore_file.c b/src/lib/ecore_file/ecore_file.c index 07d247b..52d203e 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; -- 2.7.4