From ff4adaebf1a0013a17255c428acdedfa87aa6533 Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Mon, 29 Jul 2019 22:55:17 -0500 Subject: [PATCH] [ox/mc] Fix FieldPresenceIndicator to return correct value when overflow occurs --- deps/ox/src/ox/mc/presenceindicator.cpp | 4 ++-- deps/ox/src/ox/mc/presenceindicator.hpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/deps/ox/src/ox/mc/presenceindicator.cpp b/deps/ox/src/ox/mc/presenceindicator.cpp index b587214f..f9e4292c 100644 --- a/deps/ox/src/ox/mc/presenceindicator.cpp +++ b/deps/ox/src/ox/mc/presenceindicator.cpp @@ -17,11 +17,11 @@ FieldPresenceIndicator::FieldPresenceIndicator(uint8_t *mask, std::size_t maxLen m_maskLen = maxLen; } -bool FieldPresenceIndicator::get(int i) const { +ValErr FieldPresenceIndicator::get(int i) const { if (i / 8 < m_maskLen) { return (m_mask[i / 8] >> (i % 8)) & 1; } else { - return MC_PRESENCEMASKOUTBOUNDS; + return {false, OxError(MC_PRESENCEMASKOUTBOUNDS)}; } } diff --git a/deps/ox/src/ox/mc/presenceindicator.hpp b/deps/ox/src/ox/mc/presenceindicator.hpp index 64e4c116..8e8c991a 100644 --- a/deps/ox/src/ox/mc/presenceindicator.hpp +++ b/deps/ox/src/ox/mc/presenceindicator.hpp @@ -22,7 +22,7 @@ class FieldPresenceIndicator { public: FieldPresenceIndicator(uint8_t *mask, std::size_t maxLen); - bool get(int i) const; + ValErr get(int i) const; Error set(int i, bool on);