--- libaitmqtt/example/cmds.c 2012/01/26 13:07:33 1.1 +++ libaitmqtt/example/cmds.c 2012/06/28 11:06:17 1.3 @@ -14,15 +14,15 @@ main() mqtthdr_connack_t cack; u_short ka, msgID; int i, len; - char cid[BUFSIZ], user[BUFSIZ], pass[BUFSIZ], topic[BUFSIZ], message[BUFSIZ], *t, *msg; + char cid[BUFSIZ], user[BUFSIZ], pass[BUFSIZ], topic[BUFSIZ], *t, *msg, *pub; struct mqtthdr *hdr; u_char *qoses; m = mqtt_msgAlloc(0); /* conn* */ printf("connect=%d/%d\n", m->msg_len, mqtt_msgCONNECT(m, "MRYN", 0, "aaaaa", NULL, "bbb", NULL, 0, 0, 0)); - for (i = 0; i < m->msg_len; i++) - printf("%d\n", ((u_char*) m->msg_base)[i]); +// for (i = 0; i < m->msg_len; i++) +// printf("%d\n", ((u_char*) m->msg_base)[i]); t = msg = NULL; cack = mqtt_readCONNECT(m, &ka, cid, sizeof cid, user, sizeof user, pass, sizeof pass, &t, &msg); flg.flags = cack.reserved; @@ -39,38 +39,38 @@ main() if (msg) free(msg); printf("connack=%d/%d\n", m->msg_len, mqtt_msgCONNACK(m, 1)); - for (i = 0; i < m->msg_len; i++) - printf("%d\n", ((u_char*) m->msg_base)[i]); +// for (i = 0; i < m->msg_len; i++) +// printf("%d\n", ((u_char*) m->msg_base)[i]); printf("read connack=%d\n", mqtt_readCONNACK(m)); getchar(); /* pub* */ printf("publish=%d/%d\n", m->msg_len, mqtt_msgPUBLISH(m, "AAA/bbb/CCC/ddd", 7, 0, 2, 0, "OLE!!!", 7)); - for (i = 0; i < m->msg_len; i++) - printf("%d\n", ((u_char*) m->msg_base)[i]); - len = sizeof message; - hdr = mqtt_readPUBLISH(m, topic, sizeof topic, &msgID, message, &len); - if (!hdr) { +// for (i = 0; i < m->msg_len; i++) +// printf("%d\n", ((u_char*) m->msg_base)[i]); + if (!(len = mqtt_readPUBLISH(m, topic, sizeof topic, &msgID, (void**) &pub))) { printf("Error:: mqtt_readPUBLISH() #%d - %s\n", mqtt_GetErrno(), mqtt_GetError()); return 2; - } + } else + hdr = (struct mqtthdr*) m->msg_base; printf("read publish: dup=%d qos=%d retain=%d\n", hdr->mqtt_msg.dup, hdr->mqtt_msg.qos, hdr->mqtt_msg.retain); - printf("++> topic=%s MessageID=%d DATA=(%d)%s\n", topic, msgID, len, message); + printf("++> topic=%s MessageID=%d DATA=(%d)%s\n", topic, msgID, len, pub); + free(pub); printf("puback=%d/%d\n", m->msg_len, mqtt_msgPUBACK(m, 10)); - for (i = 0; i < m->msg_len; i++) - printf("%d\n", ((u_char*) m->msg_base)[i]); +// for (i = 0; i < m->msg_len; i++) +// printf("%d\n", ((u_char*) m->msg_base)[i]); printf("read puback=%d\n", mqtt_readPUBACK(m)); printf("pubrec=%d/%d\n", m->msg_len, mqtt_msgPUBREC(m, 11)); - for (i = 0; i < m->msg_len; i++) - printf("%d\n", ((u_char*) m->msg_base)[i]); +// for (i = 0; i < m->msg_len; i++) +// printf("%d\n", ((u_char*) m->msg_base)[i]); printf("read pubrec=%d\n", mqtt_readPUBREC(m)); printf("pubrel=%d/%d\n", m->msg_len, mqtt_msgPUBREL(m, 12)); - for (i = 0; i < m->msg_len; i++) - printf("%d\n", ((u_char*) m->msg_base)[i]); +// for (i = 0; i < m->msg_len; i++) +// printf("%d\n", ((u_char*) m->msg_base)[i]); printf("read pubrel=%d\n", mqtt_readPUBREL(m)); printf("pubcomp=%d/%d\n", m->msg_len, mqtt_msgPUBCOMP(m, 13)); - for (i = 0; i < m->msg_len; i++) - printf("%d\n", ((u_char*) m->msg_base)[i]); +// for (i = 0; i < m->msg_len; i++) +// printf("%d\n", ((u_char*) m->msg_base)[i]); printf("read pubcomp=%d\n", mqtt_readPUBCOMP(m)); getchar(); @@ -88,8 +88,7 @@ main() printf("subscribe=%d/%d\n", m->msg_len, mqtt_msgSUBSCRIBE(m, s, 10, 0, 0)); for (i = 0; i < m->msg_len; i++) printf("%d\n", ((u_char*) m->msg_base)[i]); - hdr = mqtt_readSUBSCRIBE(m, &msgID, &ss); - if (!hdr) { + if (mqtt_readSUBSCRIBE(m, &msgID, &ss) == -1) { printf("Error:: mqtt_readSUBSCRIBE() #%d - %s\n", mqtt_GetErrno(), mqtt_GetError()); return 3; } @@ -100,17 +99,16 @@ main() (char*) ss[i].sub_topic.msg_base); mqtt_subFree(&ss); printf("suback=%d/%d\n", m->msg_len, mqtt_msgSUBACK(m, s, 10)); - for (i = 0; i < m->msg_len; i++) - printf("%d\n", ((u_char*) m->msg_base)[i]); +// for (i = 0; i < m->msg_len; i++) +// printf("%d\n", ((u_char*) m->msg_base)[i]); printf("read suback=%d\n", (len = mqtt_readSUBACK(m, &msgID, &qoses))); for (i = 0; i < len; i++) printf(" >>> QoS=%d\n", qoses[i]); free(qoses); printf("unsubscribe=%d/%d\n", m->msg_len, mqtt_msgUNSUBSCRIBE(m, s, 10, 0, 1)); - for (i = 0; i < m->msg_len; i++) - printf("%d\n", ((u_char*) m->msg_base)[i]); - hdr = mqtt_readUNSUBSCRIBE(m, &msgID, &ss); - if (!hdr) { +// for (i = 0; i < m->msg_len; i++) +// printf("%d\n", ((u_char*) m->msg_base)[i]); + if (mqtt_readUNSUBSCRIBE(m, &msgID, &ss) == -1) { printf("Error:: mqtt_readUNSUBSCRIBE() #%d - %s\n", mqtt_GetErrno(), mqtt_GetError()); return 3; } @@ -120,24 +118,24 @@ main() printf(" >>> Topic(%d)=%s\n", ss[i].sub_topic.msg_len, (char*) ss[i].sub_topic.msg_base); mqtt_subFree(&ss); printf("unsuback=%d/%d\n", m->msg_len, mqtt_msgUNSUBACK(m, 10)); - for (i = 0; i < m->msg_len; i++) - printf("%d\n", ((u_char*) m->msg_base)[i]); +// for (i = 0; i < m->msg_len; i++) +// printf("%d\n", ((u_char*) m->msg_base)[i]); printf("read unsuback=%d\n", mqtt_readUNSUBACK(m)); getchar(); /* ping* */ printf("pingreq=%d/%d\n", m->msg_len, mqtt_msgPINGREQ(m)); - for (i = 0; i < m->msg_len; i++) - printf("%d\n", ((u_char*) m->msg_base)[i]); +// for (i = 0; i < m->msg_len; i++) +// printf("%d\n", ((u_char*) m->msg_base)[i]); printf("read pingreq=%d\n", mqtt_readPINGREQ(m)); printf("pingresp=%d/%d\n", m->msg_len, mqtt_msgPINGRESP(m)); - for (i = 0; i < m->msg_len; i++) - printf("%d\n", ((u_char*) m->msg_base)[i]); +// for (i = 0; i < m->msg_len; i++) +// printf("%d\n", ((u_char*) m->msg_base)[i]); printf("read pingresp=%d\n", mqtt_readPINGRESP(m)); printf("disconnect=%d/%d\n", m->msg_len, mqtt_msgDISCONNECT(m)); - for (i = 0; i < m->msg_len; i++) - printf("%d\n", ((u_char*) m->msg_base)[i]); +// for (i = 0; i < m->msg_len; i++) +// printf("%d\n", ((u_char*) m->msg_base)[i]); printf("read disconnect=%d\n", mqtt_readDISCONNECT(m)); mqtt_msgFree(&m, 42);