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

View File

@ -40,12 +40,10 @@ eolian_function_type_get(const Eolian_Function *fid)
static const char * static const char *
_get_c_prefix(const Eolian_Function *foo_id, char *buf) _get_c_prefix(const Eolian_Function *foo_id, char *buf)
{ {
char *tmp = buf;
if (foo_id->klass->c_prefix) if (foo_id->klass->c_prefix)
return 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); eina_str_tolower(&buf);
while ((tmp = strchr(tmp, '.'))) *tmp = '_';
return buf; return buf;
} }