From f41e316c841f0c21349eea98e8ec8d05dc07a3fc Mon Sep 17 00:00:00 2001 From: john30 Date: Sun, 27 Aug 2017 14:21:02 +0200 Subject: [PATCH] check mqtt version before adding handler --- src/ebusd/mqtthandler.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ebusd/mqtthandler.cpp b/src/ebusd/mqtthandler.cpp index d736eae0..7068af09 100644 --- a/src/ebusd/mqtthandler.cpp +++ b/src/ebusd/mqtthandler.cpp @@ -200,6 +200,12 @@ const struct argp_child* mqtthandler_getargs() { bool mqtthandler_register(UserInfo* userInfo, BusHandler* busHandler, MessageMap* messages, list* handlers) { if (g_port > 0) { + int major = -1; + mosquitto_lib_version(&major, NULL, NULL); + if (major != LIBMOSQUITTO_MAJOR) { + logOtherError("mqtt", "invalid mosquitto version %d instead of %d", major, LIBMOSQUITTO_MAJOR); + return false; + } handlers->push_back(new MqttHandler(userInfo, busHandler, messages)); } return true; @@ -296,12 +302,6 @@ MqttHandler::MqttHandler(UserInfo* userInfo, BusHandler* busHandler, MessageMap* m_lastUpdateCheckResult(".") { m_publishByField = false; m_mosquitto = NULL; - int major = -1; - mosquitto_lib_version(&major, NULL, NULL); - if (major != LIBMOSQUITTO_MAJOR) { - logOtherError("mqtt", "invalid mosquitto version %d instead of %d", major, LIBMOSQUITTO_MAJOR); - return; - } if (g_topicFields.empty()) { if (g_topicStrs.empty()) { g_topicStrs.push_back("");