jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=68107e5eb8f7e36f5ce1b894f31e045debc6d407

commit 68107e5eb8f7e36f5ce1b894f31e045debc6d407
Author: Vincent Torri <vincent dot torri at gmail dot com>
Date:   Mon Dec 7 14:08:19 2015 +0900

    Ecore_File: fix merge and simplify logic in ecore_file_file_get() on WindoWS
    
    Summary: Ecore_File: fix merge and simplify logic in ecore_file_file_get() 
on WindowS
    
    Reviewers: cedric, jpeg
    
    Reviewed By: jpeg
    
    Subscribers: jpeg
    
    Differential Revision: https://phab.enlightenment.org/D3404
---
 src/lib/ecore_file/ecore_file.c | 31 +++++++++----------------------
 1 file changed, 9 insertions(+), 22 deletions(-)

diff --git a/src/lib/ecore_file/ecore_file.c b/src/lib/ecore_file/ecore_file.c
index 52d203e..7a44680 100644
--- a/src/lib/ecore_file/ecore_file.c
+++ b/src/lib/ecore_file/ecore_file.c
@@ -773,32 +773,19 @@ ecore_file_file_get(const char *path)
 
    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;
 
 #ifdef _WIN32
-   char *result_backslash = NULL;
-   if ((result_backslash = strrchr(path, '\\')))
-     {
-        result_backslash++;
-        if (result_backslash > result) result = result_backslash;
-     }
+   /*
+    * Here, we know that there is no more / in the string beginning at
+    * 'result'. So just check that there is no more \ from it.
+    */
+   {
+      char *result_backslash;
+      if ((result_backslash = strrchr(result, '\\')))
+        result = ++result_backslash;
+   }
 #endif
 
    return result;

-- 


Reply via email to