version 1.1.1.1.2.6, 2012/06/19 15:41:15
|
version 1.1.1.1.2.7, 2012/06/20 08:15:13
|
Line 64 mqtt_msgPUBLISH(mqtt_msg_t * __restrict buf, const cha
|
Line 64 mqtt_msgPUBLISH(mqtt_msg_t * __restrict buf, const cha
|
u_char Dup, u_char QOS, u_char Retain, const void *pData, int datlen) |
u_char Dup, u_char QOS, u_char Retain, const void *pData, int datlen) |
{ |
{ |
int len, siz; |
int len, siz; |
|
u_int n; |
struct mqtthdr *hdr; |
struct mqtthdr *hdr; |
mqtthdr_var_t *topic; |
mqtthdr_var_t *topic; |
mqtt_len_t *mid; |
mqtt_len_t *mid; |
Line 89 mqtt_msgPUBLISH(mqtt_msg_t * __restrict buf, const cha
|
Line 90 mqtt_msgPUBLISH(mqtt_msg_t * __restrict buf, const cha
|
|
|
/* calculate header size */ |
/* calculate header size */ |
siz = sizeof(struct mqtthdr); /* mqtt fixed header */ |
siz = sizeof(struct mqtthdr); /* mqtt fixed header */ |
siz += mqtt_sizeLen(mqtt_encodeLen(len)) - 1; /* length size */ | n = mqtt_encodeLen(len); /* message size */ |
| siz += mqtt_sizeLen(n) - 1; /* length size */ |
|
|
if (mqtt_msgRealloc(buf, siz + len) == -1) |
if (mqtt_msgRealloc(buf, siz + len) == -1) |
return -1; |
return -1; |
Line 102 mqtt_msgPUBLISH(mqtt_msg_t * __restrict buf, const cha
|
Line 104 mqtt_msgPUBLISH(mqtt_msg_t * __restrict buf, const cha
|
hdr->mqtt_msg.qos = QOS; |
hdr->mqtt_msg.qos = QOS; |
hdr->mqtt_msg.dup = Dup ? 1 : 0; |
hdr->mqtt_msg.dup = Dup ? 1 : 0; |
hdr->mqtt_msg.retain = Retain ? 1 : 0; |
hdr->mqtt_msg.retain = Retain ? 1 : 0; |
*hdr->mqtt_len = mqtt_encodeLen(len); | *(u_int*) hdr->mqtt_len = n; |
data += siz; |
data += siz; |
|
|
/* variable header */ |
/* variable header */ |