From 3377c18c2b4e4d99f3143364d084c87565455926 Mon Sep 17 00:00:00 2001 From: john30 Date: Fri, 20 Mar 2015 21:21:55 +0100 Subject: [PATCH] fix for reading cached values from master part --- src/lib/ebus/message.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/lib/ebus/message.cpp b/src/lib/ebus/message.cpp index 99a46df6..21101770 100644 --- a/src/lib/ebus/message.cpp +++ b/src/lib/ebus/message.cpp @@ -395,8 +395,7 @@ result_t Message::decode(SymbolString& masterData, SymbolString& slaveData, if (result < RESULT_OK) return result; if (result == RESULT_EMPTY && !empty) - result = RESULT_OK; - + result = RESULT_OK; // OK if at least one part was non-empty time(&m_lastUpdateTime); if (masterData != m_lastMasterData) { m_lastChangeTime = m_lastUpdateTime; @@ -425,7 +424,9 @@ result_t Message::decodeLastData(ostringstream& output, result = m_data->read(pt_slaveData, m_lastSlaveData, offset, output, leadingSeparator, verbose, fieldName, fieldIndex, separator); if (result < RESULT_OK) return result; - if (empty && result == RESULT_EMPTY && fieldName != NULL) + if (result == RESULT_EMPTY && !empty) + result = RESULT_OK; // OK if at least one part was non-empty + else if (result == RESULT_EMPTY && fieldName != NULL) return RESULT_ERR_NOTFOUND; return result; }