--- mqtt/src/Attic/pub.c 2011/11/21 14:51:23 1.1.2.3 +++ mqtt/src/Attic/pub.c 2011/11/21 15:07:12 1.1.2.4 @@ -11,11 +11,12 @@ * @msgID = MessageID >0, if QOS != MQTT_QOS_ONCE * @Dup = Duplicate message * @QOS = QoS + * @Retain = Retain message * return: -1 error or >-1 message size for send */ int mqtt_msgPUBLISH(mqtt_msg_t * __restrict buf, const char *csTopic, u_short msgID, - u_char Dup, u_char QOS) + u_char Dup, u_char QOS, u_char Retain) { int siz = 0; struct mqtthdr *hdr; @@ -56,7 +57,7 @@ mqtt_msgPUBLISH(mqtt_msg_t * __restrict buf, const cha hdr->mqtt_msg.type = MQTT_TYPE_PUBLISH; hdr->mqtt_msg.qos = QOS; hdr->mqtt_msg.dup = Dup ? 1 : 0; - hdr->mqtt_msg.retain = 0; + hdr->mqtt_msg.retain = Retain ? 1 : 0; *hdr->mqtt_len = mqtt_encodeLen(siz - sizeof(struct mqtthdr)); mqtt_msgRealloc(buf, siz);