diff --git a/deps/ox/src/ox/mc/intops.hpp b/deps/ox/src/ox/mc/intops.hpp index 42effc705..c378a9c22 100644 --- a/deps/ox/src/ox/mc/intops.hpp +++ b/deps/ox/src/ox/mc/intops.hpp @@ -114,7 +114,7 @@ static_assert(countBytes(0b01111111) == 8); static_assert(countBytes(0b11111111) == 9); template -Result decodeInteger(uint8_t buff[9], std::size_t buffLen, std::size_t *bytesRead) noexcept { +Result decodeInteger(const uint8_t buff[9], std::size_t buffLen, std::size_t *bytesRead) noexcept { const auto bytes = countBytes(buff[0]); if (bytes == 9) { *bytesRead = bytes; diff --git a/deps/ox/src/ox/mc/presenceindicator.cpp b/deps/ox/src/ox/mc/presenceindicator.cpp index 36f1c66d9..ba854a50f 100644 --- a/deps/ox/src/ox/mc/presenceindicator.cpp +++ b/deps/ox/src/ox/mc/presenceindicator.cpp @@ -12,8 +12,9 @@ namespace ox { -FieldPresenceIndicator::FieldPresenceIndicator(uint8_t *mask, std::size_t maxLen) { - m_mask = mask; +FieldPresenceIndicator::FieldPresenceIndicator(const uint8_t *mask, std::size_t maxLen) { + // TODO: have separate read only version of this class + m_mask = const_cast(mask); m_maskLen = maxLen; } diff --git a/deps/ox/src/ox/mc/presenceindicator.hpp b/deps/ox/src/ox/mc/presenceindicator.hpp index 799c3d5ab..6cff766b2 100644 --- a/deps/ox/src/ox/mc/presenceindicator.hpp +++ b/deps/ox/src/ox/mc/presenceindicator.hpp @@ -20,7 +20,7 @@ class FieldPresenceIndicator { std::size_t m_fields = 0; public: - FieldPresenceIndicator(uint8_t *mask, std::size_t maxLen); + FieldPresenceIndicator(const uint8_t *mask, std::size_t maxLen); Result get(std::size_t i) const; diff --git a/deps/ox/src/ox/mc/read.cpp b/deps/ox/src/ox/mc/read.cpp index d0914cb92..6b20a3123 100644 --- a/deps/ox/src/ox/mc/read.cpp +++ b/deps/ox/src/ox/mc/read.cpp @@ -14,7 +14,7 @@ namespace ox { -MetalClawReader::MetalClawReader(uint8_t *buff, std::size_t buffLen, int unionIdx, MetalClawReader *parent) noexcept: +MetalClawReader::MetalClawReader(const uint8_t *buff, std::size_t buffLen, int unionIdx, MetalClawReader *parent) noexcept: m_fieldPresence(buff, buffLen), m_unionIdx(unionIdx), m_buffLen(buffLen), diff --git a/deps/ox/src/ox/mc/read.hpp b/deps/ox/src/ox/mc/read.hpp index d84e6d3cb..433d19c6e 100644 --- a/deps/ox/src/ox/mc/read.hpp +++ b/deps/ox/src/ox/mc/read.hpp @@ -31,11 +31,11 @@ class MetalClawReader { int m_unionIdx = -1; std::size_t m_buffIt = 0; std::size_t m_buffLen = 0; - uint8_t *m_buff = nullptr; + const uint8_t *m_buff = nullptr; MetalClawReader *m_parent = nullptr; public: - MetalClawReader(uint8_t *buff, std::size_t buffLen, int unionIdx = -1, MetalClawReader *parent = nullptr) noexcept; + MetalClawReader(const uint8_t *buff, std::size_t buffLen, int unionIdx = -1, MetalClawReader *parent = nullptr) noexcept; ~MetalClawReader() noexcept; @@ -273,7 +273,7 @@ void MetalClawReader::setTypeInfo(const char*, int fields) { } template -Error readMC(uint8_t *buff, std::size_t buffLen, T *val) { +Error readMC(const uint8_t *buff, std::size_t buffLen, T *val) { MetalClawReader reader(buff, buffLen); return model(&reader, val); }