- if (interface && !interface_name_is_valid(interface))
- return -EINVAL;
- if (!member_name_is_valid(member))
- return -EINVAL;
- if (!signature_is_single(type, false))
- return -EINVAL;
- if (!reply)
- return -EINVAL;
+ assert_return(bus, -EINVAL);
+ assert_return(isempty(interface) || interface_name_is_valid(interface), -EINVAL);
+ assert_return(member_name_is_valid(member), -EINVAL);
+ assert_return(reply, -EINVAL);
+ assert_return(signature_is_single(type, false), -EINVAL);
+ assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN);
+ assert_return(!bus_pid_changed(bus), -ECHILD);