diff options
author | Havoc Pennington <hp@redhat.com> | 2005-02-12 20:27:45 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2005-02-12 20:27:45 +0000 |
commit | 970be5fda36ea575973a9e7f25389e2ef173b940 (patch) | |
tree | 6bcc78511c8db57acaf1ca9b9c0e064ba122cb4f /glib/dbus-gparser.c | |
parent | 85fb9ff93c91bc500b91759d044e3dfd951c7868 (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.c | 13 |
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; |