Also change sd_bus_message_exit_container to return -ENOENT
when not in a container, to make it easier to distinguish different
errors.
assert_return(m, -EINVAL);
assert_return(m->sealed, -EPERM);
- assert_return(m->n_containers > 0, -EINVAL);
+ assert_return(m->n_containers > 0, -ENOENT);
c = message_get_container(m);
if (c->enclosing == SD_BUS_TYPE_ARRAY) {
else if (r < 0)
log_error("Failed to execute operation: %s", bus_error_message(&error, r));
- return r;
+ return r < 0 ? r : 0;
}
static int reset_failed(sd_bus *bus, char **args) {