--- mqtt/src/Attic/conn.c 2011/11/21 12:47:15 1.1.2.2 +++ mqtt/src/Attic/conn.c 2011/11/21 14:40:56 1.1.2.3 @@ -21,7 +21,7 @@ int mqtt_msgCONNECT(mqtt_msg_t * __restrict buf, const char *csConnID, const char *csUser, const char *csPass, const char *csWillTopic, const char *csWillMessage, - char ClrSess, char WillQOS, char WillRetain) + u_char ClrSess, u_char WillQOS, u_char WillRetain) { int siz = 0; struct mqtthdr *hdr; @@ -44,7 +44,7 @@ mqtt_msgCONNECT(mqtt_msg_t * __restrict buf, const cha mqtt_SetErr(EINVAL, "Error:: invalid argument Password is too long (max 12 bytes)"); return -1; } - if (WillQOS < MQTT_QOS_ONCE && WillQOS > MQTT_QOS_EXACTLY) { + if (WillQOS > MQTT_QOS_EXACTLY) { mqtt_SetErr(EINVAL, "Error:: invalid argument WillQOS - unknown QOS value"); return -1; } @@ -132,7 +132,7 @@ mqtt_msgCONNECT(mqtt_msg_t * __restrict buf, const cha } } - *hdr->mqtt_len = mqtt_encodeLen(siz - 2); + *hdr->mqtt_len = mqtt_encodeLen(siz - sizeof(struct mqtthdr)); mqtt_msgRealloc(buf, siz); return siz; }