X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fdbus.c;h=3a6d79f3d9368f8cf15739f5e50eb31a90afaefd;hb=a68c7a7ace65354d09e8bb751ae416db4460a20f;hp=74b1c37ddaa3e6ad3acac3c93438e7ad2f2cc31b;hpb=a3d4e06dfa234bf2a9398c8e534b705b68aa50a1;p=elogind.git diff --git a/src/dbus.c b/src/dbus.c index 74b1c37dd..3a6d79f3d 100644 --- a/src/dbus.c +++ b/src/dbus.c @@ -1201,7 +1201,6 @@ DBusHandlerResult bus_default_message_handler(Manager *m, DBusConnection *c, DBu const char *interface; const BusProperty *p; DBusMessageIter iter, sub, sub2, sub3; - bool any = false; if (!dbus_message_get_args( message, @@ -1219,7 +1218,7 @@ DBusHandlerResult bus_default_message_handler(Manager *m, DBusConnection *c, DBu goto oom; for (p = properties; p->property; p++) { - if (!streq(p->interface, interface)) + if (interface[0] && !streq(p->interface, interface)) continue; if (!dbus_message_iter_open_container(&sub, DBUS_TYPE_DICT_ENTRY, NULL, &sub2) || @@ -1239,8 +1238,6 @@ DBusHandlerResult bus_default_message_handler(Manager *m, DBusConnection *c, DBu if (!dbus_message_iter_close_container(&sub2, &sub3) || !dbus_message_iter_close_container(&sub, &sub2)) goto oom; - - any = true; } if (!dbus_message_iter_close_container(&iter, &sub)) @@ -1460,6 +1457,22 @@ int bus_property_append_int32(Manager *m, DBusMessageIter *i, const char *proper return 0; } +int bus_property_append_size(Manager *m, DBusMessageIter *i, const char *property, void *data) { + uint64_t u; + + assert(m); + assert(i); + assert(property); + assert(data); + + u = (uint64_t) *(size_t*) data; + + if (!dbus_message_iter_append_basic(i, DBUS_TYPE_UINT64, &u)) + return -ENOMEM; + + return 0; +} + int bus_parse_strv(DBusMessage *m, char ***_l) { DBusMessageIter iter, sub; unsigned n = 0, i = 0;