diff --git a/obexd/client/session.c b/obexd/client/session.c
index f1915db..eda3412 100644
--- a/obexd/client/session.c
+++ b/obexd/client/session.c
GError *err, void *user_data)
{
struct pending_request *p = user_data;
- struct setpath_data *data = p->data;
- if (data->func)
- data->func(session, NULL, err, data->user_data);
+ if (p->func)
+ p->func(session, NULL, err, p->data);
if (session->p == p)
session->p = NULL;
session_process_queue(session);
}
+static void setpath_op_complete(struct obc_session *session,
+ struct obc_transfer *transfer,
+ GError *err, void *user_data)
+{
+ struct setpath_data *data = user_data;
+
+ if (data->func)
+ data->func(session, NULL, err, data->user_data);
+}
+
static void setpath_cb(GObex *obex, GError *err, GObexPacket *rsp,
gpointer user_data)
{
data->remaining = g_strsplit(strlen(path) ? path : "/", "/", 0);
p = pending_request_new(session, session_process_setpath, NULL,
- setpath_complete, data, setpath_data_free);
+ setpath_op_complete, data, setpath_data_free);
session_queue(p);
return p->id;
}