version 1.2.2.24, 2012/06/20 14:51:38
|
version 1.2.2.25, 2012/06/20 15:01:30
|
Line 236 cmdSUBSCRIBE(void *srv, int len, void *arg)
|
Line 236 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++, subs[i].sub_ret = MQTT_QOS_DENY) { |
/* convert topic to sql search statement */ |
/* convert topic to sql search statement */ |
if (mqtt_sqlTopic(subs[i].sub_topic.msg_base, buf, sizeof buf) == -1) { |
if (mqtt_sqlTopic(subs[i].sub_topic.msg_base, buf, sizeof buf) == -1) { |
ioDEBUG(5, "Error:: in db #%d - %s", mqtt_GetErrno(), mqtt_GetError()); |
ioDEBUG(5, "Error:: in db #%d - %s", mqtt_GetErrno(), mqtt_GetError()); |
goto end; | continue; |
} |
} |
if (call.WritePUB_subscribe(&cfg, pub, sess->sess_cid, mid, buf, |
if (call.WritePUB_subscribe(&cfg, pub, sess->sess_cid, mid, buf, |
sess->sess_user, sess->sess_addr, subs[i].sub_ret) > 0) { |
sess->sess_user, sess->sess_addr, subs[i].sub_ret) > 0) { |
store = io_malloc(sizeof(struct tagStore)); |
store = io_malloc(sizeof(struct tagStore)); |
if (!store) { |
if (!store) { |
ioSYSERR(0); |
ioSYSERR(0); |
goto end; | continue; |
} else { |
} else { |
store->st_msgid = mid; |
store->st_msgid = mid; |
mqtt_subCopy(&store->st_subscr, &subs[i]); |
mqtt_subCopy(&store->st_subscr, &subs[i]); |
Line 263 cmdSUBSCRIBE(void *srv, int len, void *arg)
|
Line 263 cmdSUBSCRIBE(void *srv, int len, void *arg)
|
subs[i].sub_ret = MQTT_QOS_DENY; |
subs[i].sub_ret = MQTT_QOS_DENY; |
} else { |
} else { |
ptr = realloc(store->st_subscr.sub_topic.msg_base, strlen(buf) + 1); |
ptr = realloc(store->st_subscr.sub_topic.msg_base, strlen(buf) + 1); |
if (!ptr) { | if (!ptr) |
ioSYSERR(0); |
ioSYSERR(0); |
| else { |
subs[i].sub_ret = MQTT_QOS_DENY; | |
} else { | |
store->st_subscr.sub_topic.msg_base = ptr; |
store->st_subscr.sub_topic.msg_base = ptr; |
store->st_subscr.sub_topic.msg_len = strlen(buf) + 1; |
store->st_subscr.sub_topic.msg_len = strlen(buf) + 1; |
memcpy(store->st_subscr.sub_topic.msg_base, buf, |
memcpy(store->st_subscr.sub_topic.msg_base, buf, |
Line 280 cmdSUBSCRIBE(void *srv, int len, void *arg)
|
Line 278 cmdSUBSCRIBE(void *srv, int len, void *arg)
|
|
|
subs[i].sub_ret = MQTT_QOS_PASS; |
subs[i].sub_ret = MQTT_QOS_PASS; |
} |
} |
} else | } |
subs[i].sub_ret = MQTT_QOS_DENY; | |
} |
} |
|
|
/* send acknowledge */ |
/* send acknowledge */ |