diff --git a/src/ebusd/bushandler.cpp b/src/ebusd/bushandler.cpp index d98e3044..69437afc 100644 --- a/src/ebusd/bushandler.cpp +++ b/src/ebusd/bushandler.cpp @@ -625,7 +625,6 @@ result_t BusHandler::handleSymbol() return RESULT_OK; } - result_t BusHandler::setState(BusState state, result_t result, bool firstRepetition) { if (m_currentRequest != NULL) { @@ -811,10 +810,8 @@ result_t BusHandler::startScan(bool full) break; } } - if (scanMessage == NULL) { - DataFieldSet* identFields = DataFieldSet::createIdentFields(); - scanMessage = m_scanMessage = new Message(false, false, 0x07, 0x04, identFields); - } + if (scanMessage == NULL) + scanMessage = m_scanMessage; if (scanMessage == NULL) return RESULT_ERR_NOTFOUND; diff --git a/src/ebusd/bushandler.h b/src/ebusd/bushandler.h index 8c94e13f..84ec7e99 100644 --- a/src/ebusd/bushandler.h +++ b/src/ebusd/bushandler.h @@ -281,6 +281,7 @@ public: m_command(false), m_commandCrcValid(false), m_response(false), m_responseCrcValid(false), m_scanMessage(NULL), m_grabUnknownMessages(false) { memset(m_seenAddresses, 0, sizeof(m_seenAddresses)); + m_scanMessage = new Message(false, false, 0x07, 0x04, DataFieldSet::getIdentFields(), true); } /**