From a0c03779a1eddeba91a4a7379c416631d372e312 Mon Sep 17 00:00:00 2001 From: john30 Date: Sun, 28 May 2017 09:28:46 +0200 Subject: [PATCH] compiler warningsdiff --- src/lib/ebus/datatype.cpp | 4 ++-- src/lib/ebus/message.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/ebus/datatype.cpp b/src/lib/ebus/datatype.cpp index a123fdea..ad877f0c 100644 --- a/src/lib/ebus/datatype.cpp +++ b/src/lib/ebus/datatype.cpp @@ -852,7 +852,7 @@ result_t NumberDataType::writeSymbols(size_t offset, size_t length, istringstrea dvalue = round(dvalue * m_divisor); } if (hasFlag(SIG)) { - if (dvalue < -(1LL << (8 * length)) || dvalue >= (1LL << (8 * length))) { + if (dvalue < -exp2((8 * (double)length) - 1) || dvalue >= exp2((8 * (double)length) - 1)) { return RESULT_ERR_OUT_OF_RANGE; // value out of range } if (dvalue < 0 && m_bitCount != 32) { @@ -861,7 +861,7 @@ result_t NumberDataType::writeSymbols(size_t offset, size_t length, istringstrea value = static_cast(dvalue); } } else { - if (dvalue < 0.0 || dvalue >= (1LL << (8 * length))) { + if (dvalue < 0.0 || dvalue >= exp2(8 * (double)length)) { return RESULT_ERR_OUT_OF_RANGE; // value out of range } value = (unsigned int)dvalue; diff --git a/src/lib/ebus/message.cpp b/src/lib/ebus/message.cpp index 31ca229a..33942530 100644 --- a/src/lib/ebus/message.cpp +++ b/src/lib/ebus/message.cpp @@ -758,7 +758,7 @@ result_t Message::decodeLastData(bool master, bool leadingSeparator, const char* result_t Message::decodeLastData(bool leadingSeparator, const char* fieldName, ssize_t fieldIndex, const OutputFormat outputFormat, ostream* output) const { - ssize_t startPos = output->tellp(); + ostream::pos_type startPos = output->tellp(); result_t result = m_data->read(m_lastMasterData, getIdLength(), leadingSeparator, fieldName, fieldIndex, outputFormat, -1, output); if (result < RESULT_OK) {