summaryrefslogtreecommitdiff
path: root/gobex/gobex-transfer.c
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2011-08-26 12:49:32 +0300
committerMarcel Holtmann <marcel@holtmann.org>2012-12-04 22:22:02 +0100
commitc96d0645b32a901b068e1690e65f82ccdaf475e1 (patch)
tree787969a00aea6d7b55c9899c3fbd409dadc806f9 /gobex/gobex-transfer.c
parent1e00bd8f5e4b33772ff9eab5ec4872a60989b4d4 (diff)
downloadbluez-c96d0645b32a901b068e1690e65f82ccdaf475e1.tar.gz
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.
Diffstat (limited to 'gobex/gobex-transfer.c')
-rw-r--r--gobex/gobex-transfer.c10
1 files 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);