eolian: use c_name when building complex C symbol names

This commit is contained in:
Daniel Kolesa 2019-05-30 17:00:52 +02:00
parent 2f28d0c593
commit ba8e4dc17f
2 changed files with 4 additions and 8 deletions

View File

@ -155,7 +155,7 @@ eolian_class_c_get_function_name_get(const Eolian_Class *cl)
Eina_Stringshare *ret;
Eina_Strbuf *buf = eina_strbuf_new();
char *bufp;
eina_strbuf_append(buf, cl->base.name);
eina_strbuf_append(buf, cl->base.c_name);
switch (cl->type)
{
case EOLIAN_CLASS_INTERFACE:
@ -168,7 +168,6 @@ eolian_class_c_get_function_name_get(const Eolian_Class *cl)
eina_strbuf_append(buf, "_class_get");
break;
}
eina_strbuf_replace_all(buf, ".", "_");
bufp = eina_strbuf_string_steal(buf);
eina_str_tolower(&bufp);
ret = eina_stringshare_add(bufp);
@ -184,7 +183,7 @@ eolian_class_c_macro_get(const Eolian_Class *cl)
Eina_Stringshare *ret;
Eina_Strbuf *buf = eina_strbuf_new();
char *bufp;
eina_strbuf_append(buf, cl->base.name);
eina_strbuf_append(buf, cl->base.c_name);
switch (cl->type)
{
case EOLIAN_CLASS_INTERFACE:
@ -197,7 +196,6 @@ eolian_class_c_macro_get(const Eolian_Class *cl)
eina_strbuf_append(buf, "_CLASS");
break;
}
eina_strbuf_replace_all(buf, ".", "_");
bufp = eina_strbuf_string_steal(buf);
eina_str_toupper(&bufp);
ret = eina_stringshare_add(bufp);
@ -212,7 +210,7 @@ eolian_class_c_data_type_get(const Eolian_Class *cl)
char buf[512];
EINA_SAFETY_ON_NULL_RETURN_VAL(cl, NULL);
if (!cl->data_type)
snprintf(buf, sizeof(buf), "%s_Data", cl->base.name);
snprintf(buf, sizeof(buf), "%s_Data", cl->base.c_name);
else if (!strcmp(cl->data_type, "null"))
return eina_stringshare_add("void");
else

View File

@ -40,12 +40,10 @@ eolian_function_type_get(const Eolian_Function *fid)
static const char *
_get_c_prefix(const Eolian_Function *foo_id, char *buf)
{
char *tmp = buf;
if (foo_id->klass->c_prefix)
return foo_id->klass->c_prefix;
strcpy(buf, foo_id->klass->base.name);
strcpy(buf, foo_id->klass->base.c_name);
eina_str_tolower(&buf);
while ((tmp = strchr(tmp, '.'))) *tmp = '_';
return buf;
}