MQTTPacket library (clone of https://os.mbed.com/teams/mqtt/code/MQTTPacket/)
Diff: MQTTSerializePublish.c
- Revision:
- 23:7a52009beba1
- Parent:
- 17:c5bd28cc139a
--- a/MQTTSerializePublish.c Mon Sep 25 12:03:27 2017 +0000 +++ b/MQTTSerializePublish.c Fri Oct 06 13:27:35 2017 +0900 @@ -12,6 +12,7 @@ * * Contributors: * Ian Craggs - initial API and implementation and/or initial documentation + * Ian Craggs - fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=453144 *******************************************************************************/ #include "MQTTPacket.h" @@ -114,7 +115,7 @@ } header.bits.type = packettype; header.bits.dup = dup; - header.bits.qos = 0; + header.bits.qos = (packettype == PUBREL) ? 1 : 0; writeChar(&ptr, header.byte); /* write header */ ptr += MQTTPacket_encode(ptr, 2); /* write remaining length */ @@ -135,7 +136,7 @@ */ int MQTTSerialize_puback(unsigned char* buf, int buflen, unsigned short packetid) { - return MQTTSerialize_ack(buf, buflen, PUBACK, packetid, 0); + return MQTTSerialize_ack(buf, buflen, PUBACK, 0, packetid); } @@ -149,7 +150,7 @@ */ int MQTTSerialize_pubrel(unsigned char* buf, int buflen, unsigned char dup, unsigned short packetid) { - return MQTTSerialize_ack(buf, buflen, PUBREL, packetid, dup); + return MQTTSerialize_ack(buf, buflen, PUBREL, dup, packetid); } @@ -162,7 +163,6 @@ */ int MQTTSerialize_pubcomp(unsigned char* buf, int buflen, unsigned short packetid) { - return MQTTSerialize_ack(buf, buflen, PUBCOMP, packetid, 0); + return MQTTSerialize_ack(buf, buflen, PUBCOMP, 0, packetid); } -