[ox/mc] Fix signed/unsigned comparison in field bitmap
This commit is contained in:
parent
517551348a
commit
c5f0825edb
4
deps/ox/src/ox/mc/presenceindicator.cpp
vendored
4
deps/ox/src/ox/mc/presenceindicator.cpp
vendored
@ -17,7 +17,7 @@ FieldPresenceIndicator::FieldPresenceIndicator(uint8_t *mask, std::size_t maxLen
|
|||||||
m_maskLen = maxLen;
|
m_maskLen = maxLen;
|
||||||
}
|
}
|
||||||
|
|
||||||
ValErr<bool> FieldPresenceIndicator::get(int i) const {
|
ValErr<bool> FieldPresenceIndicator::get(std::size_t 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 {
|
||||||
@ -25,7 +25,7 @@ ValErr<bool> FieldPresenceIndicator::get(int i) const {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Error FieldPresenceIndicator::set(int i, bool on) {
|
Error FieldPresenceIndicator::set(std::size_t i, bool on) {
|
||||||
if (i / 8 < m_maskLen) {
|
if (i / 8 < m_maskLen) {
|
||||||
if (on) {
|
if (on) {
|
||||||
m_mask[i / 8] |= 1 << (i % 8);
|
m_mask[i / 8] |= 1 << (i % 8);
|
||||||
|
4
deps/ox/src/ox/mc/presenceindicator.hpp
vendored
4
deps/ox/src/ox/mc/presenceindicator.hpp
vendored
@ -22,9 +22,9 @@ class FieldPresenceIndicator {
|
|||||||
public:
|
public:
|
||||||
FieldPresenceIndicator(uint8_t *mask, std::size_t maxLen);
|
FieldPresenceIndicator(uint8_t *mask, std::size_t maxLen);
|
||||||
|
|
||||||
ValErr<bool> get(int i) const;
|
ValErr<bool> get(std::size_t i) const;
|
||||||
|
|
||||||
Error set(int i, bool on);
|
Error set(std::size_t i, bool on);
|
||||||
|
|
||||||
void setFields(int) noexcept;
|
void setFields(int) noexcept;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user