From c96d0645b32a901b068e1690e65f82ccdaf475e1 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Fri, 26 Aug 2011 12:49:32 +0300 Subject: [PATCH] gobex: fix setting final bit on PUT requests Final bit should not be set when creating new request packets for PUT since it may be not be the end of the body. --- gobex/gobex-transfer.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gobex/gobex-transfer.c b/gobex/gobex-transfer.c index fad641b2b..edf999266 100644 --- a/gobex/gobex-transfer.c +++ b/gobex/gobex-transfer.c @@ -170,10 +170,14 @@ static void transfer_response(GObex *obex, GError *err, GObexPacket *rsp, return; } - req = g_obex_packet_new(transfer->opcode, TRUE, G_OBEX_HDR_INVALID); - - if (transfer->opcode == G_OBEX_OP_PUT) + if (transfer->opcode == G_OBEX_OP_PUT) { + req = g_obex_packet_new(transfer->opcode, FALSE, + G_OBEX_HDR_INVALID); g_obex_packet_add_body(req, put_get_data, transfer); + } else { + req = g_obex_packet_new(transfer->opcode, TRUE, + G_OBEX_HDR_INVALID); + } transfer->req_id = g_obex_send_req(obex, req, -1, transfer_response, transfer, &err); -- 2.47.3