tasn pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8a4849b1eb119f4070fc3c82f6dc882d9c06670f

commit 8a4849b1eb119f4070fc3c82f6dc882d9c06670f
Author: Tom Hacohen <t...@stosb.com>
Date:   Thu Jun 19 15:56:38 2014 +0100

    Eolian: Improve support (still incomplete) for namespaces.
---
 src/lib/eolian/eolian_database.c | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/src/lib/eolian/eolian_database.c b/src/lib/eolian/eolian_database.c
index 5ef7804..323f894 100644
--- a/src/lib/eolian/eolian_database.c
+++ b/src/lib/eolian/eolian_database.c
@@ -1389,6 +1389,22 @@ eolian_directory_scan(const char *dir)
    return EINA_TRUE;
 }
 
+static char *
+_eolian_class_to_filename(const char *filename)
+{
+   char *ret;
+   Eina_Strbuf *strbuf = eina_strbuf_new();
+   eina_strbuf_append(strbuf, filename);
+   eina_strbuf_replace_all(strbuf, "::", "_");
+
+   ret = eina_strbuf_string_steal(strbuf);
+   eina_strbuf_free(strbuf);
+
+   eina_str_tolower(&ret);
+
+   return ret;
+}
+
 EAPI Eina_Bool eolian_eo_file_parse(const char *filepath)
 {
    const Eina_List *itr;
@@ -1409,8 +1425,7 @@ EAPI Eina_Bool eolian_eo_file_parse(const char *filepath)
      {
         if (!eolian_class_find_by_name(inherit_name))
           {
-             char *filename = strdup(inherit_name);
-             eina_str_tolower(&filename);
+             char *filename = _eolian_class_to_filename(inherit_name);
              filepath = eina_hash_find(_filenames, filename);
              if (!filepath)
                {

-- 


Reply via email to