Diff between 408fb342d8b8d26572cd5a64b557e02c303ce524 and b77a1769c269cbd405faa831cf8db4bf7ea39668

Changed Files

File Additions Deletions Status
obexd/client/main.c +12 -0 modified

Full Patch

diff --git a/obexd/client/main.c b/obexd/client/main.c
index 16db553..7a2113d 100644
--- a/obexd/client/main.c
+++ b/obexd/client/main.c
@@ -232,9 +232,21 @@ static void pull_complete_callback(struct session_data *session,
 							void *user_data)
 {
 	struct send_data *data = user_data;
+	struct transfer_data *transfer = session->pending->data;
+
+	if (transfer->err != 0) {
+		DBusMessage *error = g_dbus_create_error(data->message,
+					"org.openobex.Error.Failed",
+					transfer->err > 0 ?
+					OBEX_ResponseToString(transfer->err) :
+					strerror(-transfer->err));
+		g_dbus_send_message(data->connection, error);
+		goto done;
+	}
 
 	g_dbus_send_reply(data->connection, data->message, DBUS_TYPE_INVALID);
 
+done:
 	shutdown_session(session);
 	dbus_message_unref(data->message);
 	dbus_connection_unref(data->connection);