q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=13a9650491edac356c098a2c605a444d2e16af09

commit 13a9650491edac356c098a2c605a444d2e16af09
Author: Daniel Kolesa <[email protected]>
Date:   Thu Sep 25 15:09:36 2014 +0100

    eolian: properly replace commas in event_c_name_get and cleanup generator
---
 src/bin/eolian/eo_generator.c       | 40 +++++++++----------------------------
 src/lib/eolian/database_event_api.c |  2 +-
 2 files changed, 10 insertions(+), 32 deletions(-)

diff --git a/src/bin/eolian/eo_generator.c b/src/bin/eolian/eo_generator.c
index e1a7bfe..31431ab 100644
--- a/src/bin/eolian/eo_generator.c
+++ b/src/bin/eolian/eo_generator.c
@@ -265,7 +265,7 @@ eo_header_generate(const Eolian_Class *class, Eina_Strbuf 
*buf)
    itr = eolian_class_events_get(class);
    EINA_ITERATOR_FOREACH(itr, event)
      {
-        const char *evname = eolian_event_c_name_get(event);
+        Eina_Stringshare *evname = eolian_event_c_name_get(event);
         const char *evdesc = eolian_event_description_get(event);
         Eolian_Object_Scope scope = eolian_event_scope_get(event);
 
@@ -287,14 +287,9 @@ eo_header_generate(const Eolian_Class *class, Eina_Strbuf 
*buf)
         eina_strbuf_prepend(tmpbuf," * ");
         eina_strbuf_append_printf(str_ev, "/**\n%s\n */\n", 
eina_strbuf_string_get(tmpbuf));
 
-        eina_strbuf_reset(tmpbuf);
-        eina_strbuf_append(tmpbuf, evname);
+        eina_strbuf_append_printf(str_ev, "#define %s (&(_%s))\n", evname, 
evname);
+        eina_strbuf_append_printf(str_extrn_ev, "EOAPI extern const 
Eo_Event_Description _%s;\n", evname);
         eina_stringshare_del(evname);
-        eina_strbuf_replace_all(tmpbuf, ",", "_");
-        char* s = (char *)eina_strbuf_string_get(tmpbuf);
-        eina_str_toupper(&s);
-        eina_strbuf_append_printf(str_ev, "#define %s (&(_%s))\n", s, s);
-        eina_strbuf_append_printf(str_extrn_ev, "EOAPI extern const 
Eo_Event_Description _%s;\n", s);
 
         if (scope == EOLIAN_SCOPE_PROTECTED)
           {
@@ -662,35 +657,25 @@ eo_source_beginning_generate(const Eolian_Class *class, 
Eina_Strbuf *buf)
    Eina_Iterator *itr;
 
    Eina_Strbuf *tmpbuf = eina_strbuf_new();
-   Eina_Strbuf *str_ev = eina_strbuf_new();
 
    Eolian_Event *event;
    itr = eolian_class_events_get(class);
    EINA_ITERATOR_FOREACH(itr, event)
      {
-        const char *evname = eolian_event_c_name_get(event);
+        Eina_Stringshare *evname = eolian_event_c_name_get(event);
         const char *evdesc = eolian_event_description_get(event);
-        char *evdesc_line1;
-        char *p;
-
-        eina_strbuf_reset(str_ev);
-        evdesc_line1 = _source_desc_get(evdesc);
-        eina_strbuf_append(str_ev, evname);
-        eina_stringshare_del(evname);
-        p = (char *)eina_strbuf_string_get(str_ev);
-        eina_str_toupper(&p);
-        eina_strbuf_replace_all(str_ev, ",", "_");
+        char *evdesc_line1 = _source_desc_get(evdesc);
 
         eina_strbuf_append_printf(tmpbuf,
                                   "EOAPI const Eo_Event_Description _%s =\n   
EO_EVENT_DESCRIPTION(\"%s\", \"%s\");\n",
-                                  eina_strbuf_string_get(str_ev), 
eolian_event_name_get(event), evdesc_line1);
+                                  evname, eolian_event_name_get(event), 
evdesc_line1);
+        eina_stringshare_del(evname);
         free(evdesc_line1);
      }
    eina_iterator_free(itr);
 
    eina_strbuf_append(buf, eina_strbuf_string_get(tmpbuf));
 
-   eina_strbuf_free(str_ev);
    eina_strbuf_free(tmpbuf);
    return EINA_TRUE;
 }
@@ -880,16 +865,9 @@ eo_source_end_generate(const Eolian_Class *class, 
Eina_Strbuf *buf)
    itr = eolian_class_events_get(class);
    EINA_ITERATOR_FOREACH(itr, event)
      {
-        const char *evname = eolian_event_c_name_get(event);
-        char *p;
-
-        eina_strbuf_reset(tmpbuf);
-        eina_strbuf_append(tmpbuf, evname);
+        Eina_Stringshare *evname = eolian_event_c_name_get(event);
+        eina_strbuf_append_printf(str_ev, "\n     %s,", evname);
         eina_stringshare_del(evname);
-        p = (char *)eina_strbuf_string_get(tmpbuf);
-        eina_str_toupper(&p);
-        eina_strbuf_replace_all(tmpbuf, ",", "_");
-        eina_strbuf_append_printf(str_ev, "\n     %s,", 
eina_strbuf_string_get(tmpbuf));
      }
    eina_iterator_free(itr);
 
diff --git a/src/lib/eolian/database_event_api.c 
b/src/lib/eolian/database_event_api.c
index 9aa597a..f2c98a7 100644
--- a/src/lib/eolian/database_event_api.c
+++ b/src/lib/eolian/database_event_api.c
@@ -41,6 +41,6 @@ eolian_event_c_name_get(const Eolian_Event *event)
     snprintf(buf, sizeof(buf), "%s_EVENT_%s", event->klass->full_name,
              event->name);
     eina_str_toupper(&tmp);
-    while ((tmp = strchr(tmp, '.'))) *tmp = '_';
+    while ((tmp = strpbrk(tmp, ".,"))) *tmp = '_';
     return eina_stringshare_add(buf);
 }

-- 


Reply via email to