summaryrefslogtreecommitdiffstats
path: root/glib/dbus-gparser.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2005-02-12 20:27:45 +0000
committerHavoc Pennington <hp@redhat.com>2005-02-12 20:27:45 +0000
commit970be5fda36ea575973a9e7f25389e2ef173b940 (patch)
tree6bcc78511c8db57acaf1ca9b9c0e064ba122cb4f /glib/dbus-gparser.c
parent85fb9ff93c91bc500b91759d044e3dfd951c7868 (diff)
2005-02-12 Havoc Pennington <hp@redhat.com>
* tools/dbus-tree-view.c (info_set_func_text): display more details on args * bus/driver.c (bus_driver_handle_list_services): list the bus driver * glib/dbus-gparser.c (parse_arg): generate an arg name if none is supplied * glib/dbus-gidl.c (signal_info_get_n_args): new function (method_info_get_n_args): new function
Diffstat (limited to 'glib/dbus-gparser.c')
-rw-r--r--glib/dbus-gparser.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/glib/dbus-gparser.c b/glib/dbus-gparser.c
index 963a5730..680d830a 100644
--- a/glib/dbus-gparser.c
+++ b/glib/dbus-gparser.c
@@ -620,6 +620,7 @@ parse_arg (Parser *parser,
ArgDirection dir;
int t;
ArgInfo *arg;
+ char *generated_name;
if (!(parser->method || parser->signal) ||
parser->node_stack == NULL ||
@@ -689,8 +690,16 @@ parse_arg (Parser *parser,
t = type_from_string (type, element_name, error);
if (t == DBUS_TYPE_INVALID)
return FALSE;
+
+ generated_name = NULL;
+ if (name == NULL)
+ generated_name = g_strdup_printf ("arg%d",
+ parser->method ?
+ method_info_get_n_args (parser->method) :
+ signal_info_get_n_args (parser->signal));
+
- arg = arg_info_new (name, dir, t);
+ arg = arg_info_new (name ? name : generated_name, dir, t);
if (parser->method)
method_info_add_arg (parser->method, arg);
else if (parser->signal)
@@ -698,6 +707,8 @@ parse_arg (Parser *parser,
else
g_assert_not_reached ();
+ g_free (generated_name);
+
arg_info_unref (arg);
parser->arg = arg;