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); --
