/* Nothing?, let's see if we exist at all, and if not
* refuse to do anything */
r = bus_node_exists(bus, n, m->path, require_fallback);
- if (r <= 0)
+ if (r <= 0) {
+ r = bus_maybe_reply_error(m, r, &error);
goto finish;
+ }
if (bus->nodes_modified) {
r = 0;
goto finish;
r = get_child_nodes(bus, m->path, n, CHILDREN_RECURSIVE, &s, &error);
if (r < 0)
- return r;
+ return bus_maybe_reply_error(m, r, &error);
if (bus->nodes_modified)
return 0;
SET_FOREACH(path, s, i) {
r = object_manager_serialize_path_and_fallbacks(bus, reply, path, &error);
if (r < 0)
- return r;
+ return bus_maybe_reply_error(m, r, &error);
if (bus->nodes_modified)
return 0;
if (!*found_object) {
r = bus_node_exists(bus, n, m->path, require_fallback);
if (r < 0)
- return r;
+ return bus_maybe_reply_error(m, r, NULL);
if (bus->nodes_modified)
return 0;
if (r > 0)
return sd_bus_send(bus, m, NULL);
}
-#if 0 /// UNNEEDED by elogind
static int object_removed_append_all_prefix(
sd_bus *bus,
sd_bus_message *m,
return sd_bus_send(bus, m, NULL);
}
-#endif // 0
static int interfaces_added_append_one_prefix(
sd_bus *bus,
return sd_bus_emit_interfaces_removed_strv(bus, path, interfaces);
}
-#if 0 /// UNNEEDED by elogind
_public_ int sd_bus_add_object_manager(sd_bus *bus, sd_bus_slot **slot, const char *path) {
sd_bus_slot *s;
struct node *n;
return r;
}
-#endif // 0