summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/connman.h3
-rw-r--r--src/network.c2
-rw-r--r--src/service.c11
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;
}
}