[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;
|
||||
}
|
||||
|
||||
bool FieldPresenceIndicator::get(int i) const {
|
||||
ValErr<bool> 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)};
|
||||
}
|
||||
}
|
||||
|
||||
|
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:
|
||||
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);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user