X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=src%2Flibelogind%2Fsd-bus%2Fbus-objects.c;h=f2fb43e4bc99da75a5e2c311cfde0420f3dfb08d;hb=d491da529c3a8f4951221f154d389026be04b432;hp=7e2c9a19aa23d1d7b7863c23e7ed66f006f51fbe;hpb=1b616e07c7863e9dbf041f39099e8af4a38c73f4;p=elogind.git diff --git a/src/libelogind/sd-bus/bus-objects.c b/src/libelogind/sd-bus/bus-objects.c index 7e2c9a19a..f2fb43e4b 100644 --- a/src/libelogind/sd-bus/bus-objects.c +++ b/src/libelogind/sd-bus/bus-objects.c @@ -974,8 +974,10 @@ static int process_introspect( /* 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; @@ -1199,7 +1201,7 @@ static int process_get_managed_objects( 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; @@ -1214,7 +1216,7 @@ static int process_get_managed_objects( 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; @@ -1344,7 +1346,7 @@ static int object_find_and_run( 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)