diff options
-rw-r--r-- | src/connman.h | 3 | ||||
-rw-r--r-- | src/network.c | 2 | ||||
-rw-r--r-- | src/service.c | 11 |
3 files changed, 10 insertions, 6 deletions
diff --git a/src/connman.h b/src/connman.h index f2fcecca..89fe7db8 100644 --- a/src/connman.h +++ b/src/connman.h @@ -629,7 +629,8 @@ void __connman_service_set_hidden_data(struct connman_service *service, gpointer user_data); void __connman_service_return_error(struct connman_service *service, int error, gpointer user_data); -void __connman_service_reply_dbus_pending(DBusMessage *pending, int error); +void __connman_service_reply_dbus_pending(DBusMessage *pending, int error, + const char *path); int __connman_service_provision_changed(const char *ident); void __connman_service_set_config(struct connman_service *service, diff --git a/src/network.c b/src/network.c index 31b0f972..df9f923f 100644 --- a/src/network.c +++ b/src/network.c @@ -1453,7 +1453,7 @@ void connman_network_clear_hidden(void *user_data) * error to the caller telling that we could not find * any network that we could connect to. */ - __connman_service_reply_dbus_pending(user_data, EIO); + __connman_service_reply_dbus_pending(user_data, EIO, NULL); } int connman_network_connect_hidden(struct connman_network *network, diff --git a/src/service.c b/src/service.c index 8edd056e..c5fe0231 100644 --- a/src/service.c +++ b/src/service.c @@ -3425,7 +3425,8 @@ static void remove_timeout(struct connman_service *service) } } -void __connman_service_reply_dbus_pending(DBusMessage *pending, int error) +void __connman_service_reply_dbus_pending(DBusMessage *pending, int error, + const char *path) { if (pending != NULL) { if (error > 0) { @@ -3435,10 +3436,11 @@ void __connman_service_reply_dbus_pending(DBusMessage *pending, int error) if (reply != NULL) g_dbus_send_message(connection, reply); } else { - const char *sender, *path; + const char *sender; sender = dbus_message_get_interface(pending); - path = dbus_message_get_path(pending); + if (path == NULL) + path = dbus_message_get_path(pending); DBG("sender %s path %s", sender, path); @@ -3460,7 +3462,8 @@ static void reply_pending(struct connman_service *service, int error) remove_timeout(service); if (service->pending != NULL) { - __connman_service_reply_dbus_pending(service->pending, error); + __connman_service_reply_dbus_pending(service->pending, error, + NULL); service->pending = NULL; } } |