bus: use ENXIO as error condition when trying to exit a container when we are not in any

So far we used ENXIO whenever the user tried to read something from a
function that didn't carry the right type, and hence use the same error
here to indicate that what the user expected and what was in the message
didn't match up.
This commit is contained in:
Lennart Poettering
2013-11-10 23:54:55 +01:00
parent d23284faa9
commit f959af205a
+2 -2
View File
@@ -3018,7 +3018,7 @@ _public_ int sd_bus_message_exit_container(sd_bus_message *m) {
assert_return(m, -EINVAL);
assert_return(m->sealed, -EPERM);
assert_return(m->n_containers > 0, -ENOENT);
assert_return(m->n_containers > 0, -ENXIO);
c = message_get_container(m);
if (c->enclosing == SD_BUS_TYPE_ARRAY) {
@@ -3030,7 +3030,7 @@ _public_ int sd_bus_message_exit_container(sd_bus_message *m) {
} else {
if (c->signature && c->signature[c->index] != 0)
return -EINVAL;
return -EBUSY;
}
free(c->signature);