From: Daniel Wagner <[email protected]>
The helper struct will be used by a new dbus function which uses
a different callback signature. Therefore, we need to use a
void pointer for storing the callback.
---
src/dbus.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/src/dbus.c b/src/dbus.c
index 70af617..590bafa 100644
--- a/src/dbus.c
+++ b/src/dbus.c
@@ -406,8 +406,8 @@ dbus_bool_t
__connman_dbus_append_objpath_dict_array(DBusMessage *msg,
return TRUE;
}
-struct selinux_data {
- connman_dbus_get_context_cb_t func;
+struct callback_data {
+ void *cb;
void *user_data;
};
@@ -448,7 +448,8 @@ static unsigned char *parse_context(DBusMessage *msg)
static void selinux_get_context_reply(DBusPendingCall *call, void *user_data)
{
- struct selinux_data *data = user_data;
+ struct callback_data *data = user_data;
+ connman_dbus_get_context_cb_t cb = data->cb;
DBusMessage *reply;
unsigned char *context = NULL;
int err = 0;
@@ -470,7 +471,7 @@ static void selinux_get_context_reply(DBusPendingCall
*call, void *user_data)
context = parse_context(reply);
done:
- (*data->func)(context, data->user_data, err);
+ (*cb)(context, data->user_data, err);
g_free(context);
@@ -484,7 +485,7 @@ int connman_dbus_get_selinux_context(DBusConnection
*connection,
connman_dbus_get_context_cb_t func,
void *user_data)
{
- struct selinux_data *data;
+ struct callback_data *data;
DBusPendingCall *call;
DBusMessage *msg = NULL;
int err;
@@ -492,7 +493,7 @@ int connman_dbus_get_selinux_context(DBusConnection
*connection,
if (func == NULL)
return -EINVAL;
- data = g_try_new0(struct selinux_data, 1);
+ data = g_try_new0(struct callback_data, 1);
if (data == NULL) {
DBG("Can't allocate data structure");
return -ENOMEM;
@@ -523,7 +524,7 @@ int connman_dbus_get_selinux_context(DBusConnection
*connection,
goto err;
}
- data->func = func;
+ data->cb = func;
data->user_data = user_data;
dbus_pending_call_set_notify(call, selinux_get_context_reply,
--
1.8.2.rc3.16.gce432ca
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman