[ox/mc] Fix FieldPresenceIndicator to return correct value when overflow occurs
This commit is contained in:
parent
142387aa04
commit
ff4adaebf1
4
deps/ox/src/ox/mc/presenceindicator.cpp
vendored
4
deps/ox/src/ox/mc/presenceindicator.cpp
vendored
@ -17,11 +17,11 @@ FieldPresenceIndicator::FieldPresenceIndicator(uint8_t *mask, std::size_t maxLen
|
|||||||
m_maskLen = maxLen;
|
m_maskLen = maxLen;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FieldPresenceIndicator::get(int i) const {
|
ValErr<bool> FieldPresenceIndicator::get(int i) const {
|
||||||
if (i / 8 < m_maskLen) {
|
if (i / 8 < m_maskLen) {
|
||||||
return (m_mask[i / 8] >> (i % 8)) & 1;
|
return (m_mask[i / 8] >> (i % 8)) & 1;
|
||||||
} else {
|
} else {
|
||||||
return MC_PRESENCEMASKOUTBOUNDS;
|
return {false, OxError(MC_PRESENCEMASKOUTBOUNDS)};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
2
deps/ox/src/ox/mc/presenceindicator.hpp
vendored
2
deps/ox/src/ox/mc/presenceindicator.hpp
vendored
@ -22,7 +22,7 @@ class FieldPresenceIndicator {
|
|||||||
public:
|
public:
|
||||||
FieldPresenceIndicator(uint8_t *mask, std::size_t maxLen);
|
FieldPresenceIndicator(uint8_t *mask, std::size_t maxLen);
|
||||||
|
|
||||||
bool get(int i) const;
|
ValErr<bool> get(int i) const;
|
||||||
|
|
||||||
Error set(int i, bool on);
|
Error set(int i, bool on);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user