--- mqtt/src/Attic/conn.c 2011/12/05 15:30:49 1.1.2.7 +++ mqtt/src/Attic/conn.c 2011/12/05 16:55:40 1.1.2.8 @@ -275,12 +275,9 @@ mqtt_readCONNECT(mqtt_msg_t * __restrict buf, u_short if (!buf || !buf->msg_base || !buf->msg_len || !psConnID || !connLen) return flg; - hdr = (struct mqtthdr*) buf->msg_base; - if (hdr->mqtt_msg.type != MQTT_TYPE_CONNECT) { - mqtt_SetErr(EINVAL, "Error:: wrong command #%d", hdr->mqtt_msg.type); + hdr = _mqtt_readHEADER(buf, MQTT_TYPE_CONNECT, &ret, &len); + if (!hdr) return flg; - } else - len = mqtt_decodeLen(hdr->mqtt_len, &ret); if (len < 12) { mqtt_SetErr(EINVAL, "Error:: short message length %d", len); return flg; @@ -410,12 +407,9 @@ mqtt_readCONNACK(mqtt_msg_t * __restrict buf) if (!buf || !buf->msg_base || !buf->msg_len) return (u_char) -1; - hdr = (struct mqtthdr*) buf->msg_base; - if (hdr->mqtt_msg.type != MQTT_TYPE_CONNACK) { - mqtt_SetErr(EINVAL, "Error:: wrong command #%d", hdr->mqtt_msg.type); + hdr = _mqtt_readHEADER(buf, MQTT_TYPE_CONNACK, &ret, &len); + if (!hdr) return (u_char) -1; - } else - len = mqtt_decodeLen(hdr->mqtt_len, &ret); if (len < sizeof(mqtthdr_connack_t)) { mqtt_SetErr(EINVAL, "Error:: short message length %d", len); return (u_char) -1;