From 0206932131201a6aa1664d373fb044c3f390f8f4 Mon Sep 17 00:00:00 2001 From: Vinicius Costa Gomes Date: Tue, 18 Nov 2008 10:48:34 -0300 Subject: [PATCH] obexd: Sending a error message when some error occurs during folder listing --- obexd/client/session.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/obexd/client/session.c b/obexd/client/session.c index 519045358..6706d2524 100644 --- a/obexd/client/session.c +++ b/obexd/client/session.c @@ -1024,7 +1024,19 @@ static void get_xfer_listing_progress(GwObexXfer *xfer, gw_obex_xfer_read(xfer, session->buffer + session->filled, bsize, &bread, &err); - session->filled += bread; + + if (session->msg && err) { + DBusMessage *reply; + + reply = g_dbus_create_error(session->msg, + "org.openobex.Error.Failed", + OBEX_ResponseToString(err)); + + g_dbus_send_message(session->conn, reply); + + dbus_message_unref(session->msg); + session->msg = NULL; + } if (err) { fprintf(stderr, "gw_obex_xfer_read(): %s\n", @@ -1032,14 +1044,16 @@ static void get_xfer_listing_progress(GwObexXfer *xfer, goto complete; } + session->filled += bread; + if (gw_obex_xfer_object_done(xfer)) goto complete; return; complete: - - callback->func(callback->session, callback->data); + if (err == 0) + callback->func(callback->session, callback->data); unregister_transfer(session); -- 2.47.3