jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2349e1ac41345ba73c2a2a1a0d8435114ba613ef

commit 2349e1ac41345ba73c2a2a1a0d8435114ba613ef
Author: Daniel Zaoui <[email protected]>
Date:   Wed Feb 11 16:58:53 2015 +0200

    Eolian: store the class filenames with the extensions.
    
    This change is needed to give Espion a way to request the parsing of a
    class when a eo_add happens and the class is not known by Eolian.
---
 src/lib/eolian/eo_parser.c       | 8 ++------
 src/lib/eolian/eolian_database.c | 5 ++---
 2 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
index 47923c8..6704755 100644
--- a/src/lib/eolian/eo_parser.c
+++ b/src/lib/eolian/eo_parser.c
@@ -125,13 +125,9 @@ pop_str(Eo_Lexer *ls)
 }
 
 static Eina_Bool
-compare_class_file(const char *fn_ext, const char *fn_noext)
+compare_class_file(const char *fn1, const char *fn2)
 {
-   int fnlen = strlen(fn_ext);
-   int cnlen = strlen(fn_noext);
-   if (cnlen != (fnlen - 3))
-     return EINA_FALSE;
-   return !strncmp(fn_noext, fn_ext, cnlen);
+   return !strcmp(fn1, fn2);
 }
 
 static void
diff --git a/src/lib/eolian/eolian_database.c b/src/lib/eolian/eolian_database.c
index b8ed8b5..f1f6067 100644
--- a/src/lib/eolian/eolian_database.c
+++ b/src/lib/eolian/eolian_database.c
@@ -120,12 +120,10 @@ join_path(const char *path, const char *file)
 static void
 _scan_cb(const char *name, const char *path, void *data EINA_UNUSED)
 {
-   size_t len;
    Eina_Bool is_eo = eina_str_has_suffix(name, EO_SUFFIX);
    if (!is_eo && !eina_str_has_suffix(name, EOT_SUFFIX)) return;
-   len = strlen(name) - (is_eo ? sizeof(EO_SUFFIX) : sizeof(EOT_SUFFIX)) + 1;
    eina_hash_add(is_eo ? _filenames : _tfilenames,
-                 eina_stringshare_add_length(name, len), join_path(path, 
name));
+                 eina_stringshare_add(name), join_path(path, name));
 }
 
 EAPI Eina_Bool
@@ -155,6 +153,7 @@ database_class_to_filename(const char *cname)
    Eina_Strbuf *strbuf = eina_strbuf_new();
    eina_strbuf_append(strbuf, cname);
    eina_strbuf_replace_all(strbuf, ".", "_");
+   eina_strbuf_append(strbuf, ".eo");
 
    ret = eina_strbuf_string_steal(strbuf);
    eina_strbuf_free(strbuf);

-- 


Reply via email to