From dfd0a9fddf96545fb15014a6ddfd3fba71214a62 Mon Sep 17 00:00:00 2001 From: Johannes Schriewer Date: Mon, 30 Jul 2018 22:26:32 +0200 Subject: [PATCH] Bugfix: Do not use packet_id zero Re #12 --- src/protocol.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/protocol.c b/src/protocol.c index 8f80b9e..45ec6c5 100644 --- a/src/protocol.c +++ b/src/protocol.c @@ -57,7 +57,7 @@ void remove_pending(MQTTHandle *handle, void *context) { bool send_subscribe_packet(MQTTHandle *handle, char *topic, MQTTQosLevel qos) { SubscribePayload *payload = calloc(1, sizeof(SubscribePayload)); - payload->packet_id = handle->packet_id_counter++; + payload->packet_id = (++handle->packet_id_counter > 0) ? handle->packet_id_counter : ++handle->packet_id_counter; payload->topic = strdup(topic); payload->qos = qos; @@ -108,7 +108,7 @@ bool send_publish_packet(MQTTHandle *handle, char *topic, char *message, MQTTQos payload->qos = qos; payload->retain = true; payload->topic = topic; - payload->packet_id = handle->packet_id_counter++; + payload->packet_id = (++handle->packet_id_counter > 0) ? handle->packet_id_counter : ++handle->packet_id_counter; payload->message = message; Buffer *encoded = mqtt_packet_encode(&(MQTTPacket){ PacketTypePublish, payload });