diff --git a/MQTTClient-C/src/MQTTClient.c b/MQTTClient-C/src/MQTTClient.c index dc7e89c5..aaba8238 100755 --- a/MQTTClient-C/src/MQTTClient.c +++ b/MQTTClient-C/src/MQTTClient.c @@ -173,7 +173,7 @@ static char isTopicMatched(char* topicFilter, MQTTString* topicName) curn++; }; - return (curn == curn_end) && (*curf == '\0'); + return (curn == curn_end) && (*curf == '\0' || *curf == '#'); } diff --git a/MQTTClient/src/MQTTClient.h b/MQTTClient/src/MQTTClient.h index 7e933103..fc9dea5d 100644 --- a/MQTTClient/src/MQTTClient.h +++ b/MQTTClient/src/MQTTClient.h @@ -538,7 +538,7 @@ bool MQTT::Client::isTopicMatched(char* topicFilter, MQTTS curn++; }; - return (curn == curn_end) && (*curf == '\0'); + return (curn == curn_end) && (*curf == '\0' || *curf == '#'); }