--- mqtt/src/mqttd_calls.c 2012/06/26 14:51:33 1.2.2.28 +++ mqtt/src/mqttd_calls.c 2012/06/29 08:47:28 1.2.2.29 @@ -262,17 +262,18 @@ cmdPUBREL(void *srv, int len, void *arg) return 0; } - // TODO:: Delete from database topic + /* delete not retain message */ + call.DeletePUB_topic(&cfg, pub, sess->sess_cid, mid, "%", sess->sess_user, + sess->sess_addr, 0); siz = mqtt_msgPUBCOMP(sess->sess_buf, mid); if (siz == -1) { ioDEBUG(5, "Error:: in msgPUBCOMP #%d - %s", mqtt_GetErrno(), mqtt_GetError()); return 0; - } else { - p = mkPkt(sess->sess_buf->msg_base, siz); - memset(sess->sess_buf->msg_base, 0, sess->sess_buf->msg_len); } + p = mkPkt(sess->sess_buf->msg_base, siz); + memset(sess->sess_buf->msg_base, 0, sess->sess_buf->msg_len); schedWrite(root, sendPacket, p, sess->sess_sock, NULL, 0); return 0; }