device: Simplify method return logic

This commit is contained in:
Denis Kenzior 2016-08-04 11:37:23 -05:00
parent 694c62985a
commit 30947414e4
1 changed files with 11 additions and 14 deletions

View File

@ -774,27 +774,24 @@ static void device_disconnect_cb(struct netdev *netdev, bool success,
void *user_data) void *user_data)
{ {
struct device *device = user_data; struct device *device = user_data;
struct l_dbus_message *reply;
l_debug("%d, success: %d", device->index, success); l_debug("%d, success: %d", device->index, success);
if (!success) { if (device->disconnect_pending) {
if (!device->disconnect_pending) struct l_dbus_message *reply;
return;
dbus_pending_reply(&device->disconnect_pending, if (success) {
dbus_error_failed(device->disconnect_pending)); reply = l_dbus_message_new_method_return(
return; device->disconnect_pending);
l_dbus_message_set_arguments(reply, "");
} else
reply = dbus_error_failed(device->disconnect_pending);
dbus_pending_reply(&device->disconnect_pending, reply);
} }
device_disassociated(device); device_disassociated(device);
if (!device->disconnect_pending)
return;
reply = l_dbus_message_new_method_return(device->disconnect_pending);
l_dbus_message_set_arguments(reply, "");
dbus_pending_reply(&device->disconnect_pending, reply);
} }
int device_disconnect(struct device *device) int device_disconnect(struct device *device)