if (r < 0)
return r;
- return sd_bus_send(sd_bus_message_get_bus(reply), reply, NULL);
+ return sd_bus_send(NULL, reply, NULL);
}
static int method_list_units(sd_bus_message *message, void *userdata, sd_bus_error *error) {
if (r < 0)
return r;
- return sd_bus_send(sd_bus_message_get_bus(reply), reply, NULL);
+ return sd_bus_send(NULL, reply, NULL);
}
static int method_subscribe(sd_bus_message *message, void *userdata, sd_bus_error *error) {
if (r < 0)
return r;
- return sd_bus_send(sd_bus_message_get_bus(reply), reply, NULL);
+ return sd_bus_send(NULL, reply, NULL);
fail:
unit_file_list_free(h);
if (r < 0)
goto fail;
- return sd_bus_send(sd_bus_message_get_bus(message), reply, NULL);
+ return sd_bus_send(NULL, reply, NULL);
fail:
unit_file_changes_free(changes, n_changes);
if (r < 0)
return r;
- return sd_bus_send(sd_bus_message_get_bus(msg), reply, NULL);
+ return sd_bus_send(NULL, reply, NULL);
}
static int method_cancel(sd_bus_message *msg, void *userdata, sd_bus_error *error) {
_cleanup_bus_message_unref_ sd_bus_message *m = sd_bus_message_ref(_m);
int r;
- assert_return(bus, -EINVAL);
assert_return(m, -EINVAL);
+
+ if (!bus)
+ bus = m->bus;
+
assert_return(!bus_pid_changed(bus), -ECHILD);
assert_return(!bus->is_kernel || !(bus->hello_flags & KDBUS_HELLO_MONITOR), -EROFS);
_public_ int sd_bus_send_to(sd_bus *bus, sd_bus_message *m, const char *destination, uint64_t *cookie) {
int r;
- assert_return(bus, -EINVAL);
assert_return(m, -EINVAL);
+
+ if (!bus)
+ bus = m->bus;
+
assert_return(!bus_pid_changed(bus), -ECHILD);
if (!BUS_IS_OPEN(bus->state))
_cleanup_bus_slot_unref_ sd_bus_slot *s = NULL;
int r;
- assert_return(bus, -EINVAL);
assert_return(m, -EINVAL);
assert_return(m->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL);
assert_return(!(m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED), -EINVAL);
assert_return(callback, -EINVAL);
+
+ if (!bus)
+ bus = m->bus;
+
assert_return(!bus_pid_changed(bus), -ECHILD);
assert_return(!bus->is_kernel || !(bus->hello_flags & KDBUS_HELLO_MONITOR), -EROFS);
unsigned i;
int r;
- assert_return(bus, -EINVAL);
assert_return(m, -EINVAL);
assert_return(m->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL);
assert_return(!(m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED), -EINVAL);
assert_return(!bus_error_is_dirty(error), -EINVAL);
+
+ if (!bus)
+ bus = m->bus;
+
assert_return(!bus_pid_changed(bus), -ECHILD);
assert_return(!bus->is_kernel || !(bus->hello_flags & KDBUS_HELLO_MONITOR), -EROFS);
if (r < 0)
return r;
- return sd_bus_send(sd_bus_message_get_bus(reply), reply, NULL);
+ return sd_bus_send(NULL, reply, NULL);
}
static int method_list_users(sd_bus_message *message, void *userdata, sd_bus_error *error) {
if (r < 0)
return r;
- return sd_bus_send(sd_bus_message_get_bus(reply), reply, NULL);
+ return sd_bus_send(NULL, reply, NULL);
}
static int method_list_seats(sd_bus_message *message, void *userdata, sd_bus_error *error) {
if (r < 0)
return r;
- return sd_bus_send(sd_bus_message_get_bus(reply), reply, NULL);
+ return sd_bus_send(NULL, reply, NULL);
}
static int method_list_inhibitors(sd_bus_message *message, void *userdata, sd_bus_error *error) {
if (r < 0)
return r;
- return sd_bus_send(sd_bus_message_get_bus(reply), reply, NULL);
+ return sd_bus_send(NULL, reply, NULL);
}
static int method_create_session(sd_bus_message *message, void *userdata, sd_bus_error *error) {
if (r < 0)
return r;
- return sd_bus_send(sd_bus_message_get_bus(reply), reply, NULL);
+ return sd_bus_send(NULL, reply, NULL);
}
int bus_machine_method_get_os_release(sd_bus_message *message, void *userdata, sd_bus_error *error) {
if (r < 0)
return r;
- return sd_bus_send(sd_bus_message_get_bus(reply), reply, NULL);
+ return sd_bus_send(NULL, reply, NULL);
}
int bus_machine_method_open_pty(sd_bus_message *message, void *userdata, sd_bus_error *error) {
if (r < 0)
return r;
- return sd_bus_send(sd_bus_message_get_bus(reply), reply, NULL);
+ return sd_bus_send(NULL, reply, NULL);
}
int bus_machine_method_open_login(sd_bus_message *message, void *userdata, sd_bus_error *error) {
if (r < 0)
return r;
- return sd_bus_send(sd_bus_message_get_bus(reply), reply, NULL);
+ return sd_bus_send(NULL, reply, NULL);
}
int bus_machine_method_bind_mount(sd_bus_message *message, void *userdata, sd_bus_error *error) {
if (r < 0)
return sd_bus_error_set_errno(error, r);
- return sd_bus_send(sd_bus_message_get_bus(message), reply, NULL);
+ return sd_bus_send(NULL, reply, NULL);
}
static int method_create_or_register_machine(Manager *manager, sd_bus_message *message, bool read_network, Machine **_m, sd_bus_error *error) {
if (r < 0)
return r;
- return sd_bus_send(sd_bus_message_get_bus(message), reply, NULL);
+ return sd_bus_send(NULL, reply, NULL);
}
static int method_open_machine_pty(sd_bus_message *message, void *userdata, sd_bus_error *error) {