--- mqtt/src/Attic/aitmqtt.c 2011/11/28 13:19:39 1.1.1.1.2.12 +++ mqtt/src/Attic/aitmqtt.c 2011/12/05 10:37:17 1.1.1.1.2.13 @@ -158,18 +158,18 @@ mqtt_encodeLen(u_int num) /* * mqtt_decodeLen() Decode length from MQTT packet * - * @len = length + * @len = length from MQTT header * @n = sizeof bytes, if !=NULL * return: -1 error, >-1 length of message */ inline u_int -mqtt_decodeLen(u_int len, char *n) +mqtt_decodeLen(void * __restrict len, int * __restrict n) { register u_int i, dig, mul; u_int ret = 0; - u_char *p = (u_char*) &len; + u_char *p = (u_char*) len; - if (len > 0xffffff7f) + if (!len) return (u_int) -1; for (mul = 1, i = 0; i < sizeof ret; i++, mul *= 0x80) {