eolian: properly replace commas in event_c_name_get and cleanup generator
This commit is contained in:
parent
a1552fe6a9
commit
13a9650491
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue