summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2021-07-14 15:02:51 +0200
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2021-07-14 15:03:57 +0200
commit364cc9dcba7e1a03403bb52ebc2609fa5fb7f7e8 (patch)
treef06d46e6071dcc20a89f08ceeca017013415be33 /src
parentd6a896ef96db482ef11cb4ab5325ffa1f2ebe35f (diff)
downloadefl-364cc9dcba7e1a03403bb52ebc2609fa5fb7f7e8.tar.gz
eldbus: do not generate method names with - in name
Diffstat (limited to 'src')
-rw-r--r--src/bin/eldbus/source_client.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/bin/eldbus/source_client.c b/src/bin/eldbus/source_client.c
index 8860f0665b..c7ba1b3795 100644
--- a/src/bin/eldbus/source_client.c
+++ b/src/bin/eldbus/source_client.c
@@ -428,11 +428,23 @@ prop_cb_get(const DBus_Property *prop)
}
}
+static char*
+_escape(const char *name) {
+ Eina_Strbuf *buf = eina_strbuf_new();
+
+ eina_strbuf_append(buf, name);
+ eina_strbuf_replace_all(buf, "-", "_");
+
+ return eina_strbuf_release(buf);
+}
+
+
static void
source_client_property_generate_get(const DBus_Property *prop, Eina_Strbuf *c_code, Eina_Strbuf *h)
{
+ char *cb_name_escaped = _escape(prop->cb_name);
//callback
- eina_strbuf_append_printf(c_code, "\nstatic void\n%s(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)\n{\n", prop->cb_name);
+ eina_strbuf_append_printf(c_code, "\nstatic void\n%s(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)\n{\n", cb_name_escaped);
eina_strbuf_append_printf(c_code, " void *user_data = eldbus_pending_data_del(pending, \"__user_data\");\n");
eina_strbuf_append_printf(c_code, " const char *error, *error_msg;\n");
eina_strbuf_append_printf(c_code, " %s cb = data;\n", prop_cb_get(prop));
@@ -488,6 +500,8 @@ source_client_property_generate_get(const DBus_Property *prop, Eina_Strbuf *c_co
eina_strbuf_append_printf(c_code, " eldbus_pending_data_set(p, \"__user_proxy\", proxy);\n");
eina_strbuf_append_printf(c_code, " return p;\n");
eina_strbuf_append_printf(c_code, "}\n");
+
+ free(cb_name_escaped);
}
static void