Diff for /mqtt/src/mqttd_calls.c between versions 1.2.2.13 and 1.2.2.16

version 1.2.2.13, 2012/05/08 13:04:02 version 1.2.2.16, 2012/05/08 14:36:10
Line 72  cmdSUBSCRIBE(void *srv, int len, void *arg) Line 72  cmdSUBSCRIBE(void *srv, int len, void *arg)
   
         /* add to db */          /* add to db */
         for (i = 0; i < siz; i++) {          for (i = 0; i < siz; i++) {
                if (call.WritePUB_subscribe(&cfg, pub, mid, subs[i].sub_topic.msg_base,                 if (call.WritePUB_subscribe(&cfg, pub, sess->sess_cid, mid, subs[i].sub_topic.msg_base, 
                                 sess->sess_user, sess->sess_addr, subs[i].sub_ret) > 0) {                                  sess->sess_user, sess->sess_addr, subs[i].sub_ret) > 0) {
                         store = malloc(sizeof(struct tagStore));                          store = malloc(sizeof(struct tagStore));
                         if (!store) {                          if (!store) {
Line 138  cmdUNSUBSCRIBE(void *srv, int len, void *arg) Line 138  cmdUNSUBSCRIBE(void *srv, int len, void *arg)
                                         !strcmp(store->st_subscr.sub_topic.msg_base,                                           !strcmp(store->st_subscr.sub_topic.msg_base, 
                                                 subs[i].sub_topic.msg_base)) {                                                  subs[i].sub_topic.msg_base)) {
                                 SLIST_REMOVE(&sess->sess_subscr, store, tagStore, st_node);                                  SLIST_REMOVE(&sess->sess_subscr, store, tagStore, st_node);
   
                                   if (store->st_subscr.sub_topic.msg_base)
                                           free(store->st_subscr.sub_topic.msg_base);
                                   if (store->st_subscr.sub_value.msg_base)
                                           free(store->st_subscr.sub_value.msg_base);
                                 free(store);                                  free(store);
                         }                          }
                 }                  }
   
                call.DeletePUB_subscribe(&cfg, pub, subs[i].sub_topic.msg_base,                 call.DeletePUB_subscribe(&cfg, pub, sess->sess_cid, subs[i].sub_topic.msg_base, 
                                sess->sess_user, sess->sess_addr);                                sess->sess_user, "%");
         }          }
   
         /* send acknowledge */          /* send acknowledge */
Line 205  cmdCONNECT(void *srv, int len, void *arg) Line 210  cmdCONNECT(void *srv, int len, void *arg)
         ioDEBUG(5, "Exec CONNECT session");          ioDEBUG(5, "Exec CONNECT session");
         TAILQ_REMOVE(&Sessions, sess, sess_node);          TAILQ_REMOVE(&Sessions, sess, sess_node);
   
        if (call.FiniSessPUB)        if (sess->sess_clean) {
                call.FiniSessPUB(&cfg, pub, sess->sess_cid, sess->sess_user, "%");                if (call.FiniSessPUB)
                         call.FiniSessPUB(&cfg, pub, sess->sess_cid, sess->sess_user, "%");
                 if (call.DeletePUB_subscribe)
                         call.DeletePUB_subscribe(&cfg, pub, sess->sess_cid, "%", sess->sess_user, "%");
                 if (call.WipePUB_topic)
                         call.WipePUB_topic(&cfg, pub, sess->sess_cid, sess->sess_user, -1);
         }
   
         while ((store = SLIST_FIRST(&sess->sess_subscr))) {          while ((store = SLIST_FIRST(&sess->sess_subscr))) {
                 SLIST_REMOVE_HEAD(&sess->sess_subscr, st_node);                  SLIST_REMOVE_HEAD(&sess->sess_subscr, st_node);

Removed from v.1.2.2.13  
changed lines
  Added in v.1.2.2.16


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>