eolian: rmeove dependency on basename/libgen.h/evil
authorDaniel Kolesa <d.kolesa@osg.samsung.com>
Sat, 21 Jan 2017 17:05:26 +0000 (18:05 +0100)
committerDaniel Kolesa <d.kolesa@osg.samsung.com>
Sat, 21 Jan 2017 17:06:00 +0000 (18:06 +0100)
configure.ac
src/bin/eolian/main.c
src/lib/eolian/eo_lexer.c
src/lib/eolian/eolian_database.c

index 07d0767..61bbb62 100644 (file)
@@ -1463,7 +1463,6 @@ EFL_ADD_FEATURE([EOLIAN], [cxx], [${have_cxx11}])
 ### Checks for programs
 
 ## Compatibility layers
-EFL_PLATFORM_DEPEND([EOLIAN], [evil])
 
 ### Checks for libraries
 EFL_INTERNAL_DEPEND_PKG([EOLIAN], [eina])
index d874084..2e19d74 100644 (file)
@@ -1,6 +1,5 @@
 #include <stdlib.h>
 #include <unistd.h>
-#include <libgen.h>
 
 #include "main.h"
 #include "types.h"
index 2bb72d2..f806c41 100644 (file)
@@ -8,7 +8,6 @@
 
 #include <setjmp.h>
 #include <assert.h>
-#include <libgen.h>
 
 #include "eo_lexer.h"
 
@@ -1005,11 +1004,11 @@ lex(Eo_Lexer *ls, Eo_Token *tok)
 static const char *
 get_filename(Eo_Lexer *ls)
 {
-   char *dup = strdup(ls->source);
-   char *s = basename(dup);
-   const char *file = eina_stringshare_add(s);
-   free(dup);
-   return file;
+   const char *fslash = strrchr(ls->source, '/');
+   const char *bslash = strrchr(ls->source, '\\');
+   if (fslash || bslash)
+     return eina_stringshare_add((fslash > bslash) ? (fslash + 1) : (bslash + 1));
+   return eina_stringshare_ref(ls->source);
 }
 
 static void
index 6cf71c5..2e33da7 100644 (file)
@@ -3,7 +3,6 @@
 #endif
 
 #include <ctype.h>
-#include <libgen.h>
 #include <Eina.h>
 #include "eo_parser.h"
 #include "eolian_database.h"