From fa4725b85d54626d1f6be998a5474ae800128a3d Mon Sep 17 00:00:00 2001 From: tomoaki Date: Sat, 25 Aug 2018 10:21:09 +0900 Subject: [PATCH] BugFix Subscribe pre\defined\topic #132 Signed-off-by: tomoaki --- MQTTSNGateway/src/MQTTSNGWSubscribeHandler.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/MQTTSNGateway/src/MQTTSNGWSubscribeHandler.cpp b/MQTTSNGateway/src/MQTTSNGWSubscribeHandler.cpp index 6bca10f..cd4bc30 100644 --- a/MQTTSNGateway/src/MQTTSNGWSubscribeHandler.cpp +++ b/MQTTSNGateway/src/MQTTSNGWSubscribeHandler.cpp @@ -59,6 +59,8 @@ MQTTGWPacket* MQTTSNSubscribeHandler::handleSubscribe(Client* client, MQTTSNPack if ( topicFilter.type == MQTTSN_TOPIC_TYPE_PREDEFINED ) { topic = client->getTopics()->getTopicById(&topicFilter); + + if ( topic ) { topicId = topic->getTopicId(); @@ -67,7 +69,15 @@ MQTTGWPacket* MQTTSNSubscribeHandler::handleSubscribe(Client* client, MQTTSNPack } else { - goto RespExit; + topic = _gateway->getTopics()->getTopicById(&topicFilter); + if ( !topic ) + { + topic = client->getTopics()->add(topic->getTopicName()->c_str(), topic->getTopicId()); + } + else + { + goto RespExit; + } } } else if (topicFilter.type == MQTTSN_TOPIC_TYPE_NORMAL)