diff options
author | Shauren <shauren.trinity@gmail.com> | 2024-12-19 19:45:58 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2024-12-19 19:45:58 +0100 |
commit | 5a1fe849783d0a9b41ce77eca565f3cfc2dfb197 (patch) | |
tree | d26f3c4a3c2523b51cf3511868d0b7d5ee44be69 | |
parent | 736836a3f5307c9cdf5f843893ff9d144efa69d1 (diff) |
Core/PacketIO: Read directly into output variable for numeric ByteBuffer::operator>> overloads
-rw-r--r-- | src/server/shared/Packets/ByteBuffer.cpp | 4 | ||||
-rw-r--r-- | src/server/shared/Packets/ByteBuffer.h | 16 |
2 files changed, 10 insertions, 10 deletions
diff --git a/src/server/shared/Packets/ByteBuffer.cpp b/src/server/shared/Packets/ByteBuffer.cpp index a575e52bc1e..994cd371968 100644 --- a/src/server/shared/Packets/ByteBuffer.cpp +++ b/src/server/shared/Packets/ByteBuffer.cpp @@ -41,7 +41,7 @@ ByteBufferInvalidValueException::ByteBufferInvalidValueException(char const* typ ByteBuffer& ByteBuffer::operator>>(float& value) { - value = read<float>(); + read(&value, 1); if (!std::isfinite(value)) throw ByteBufferInvalidValueException("float", "infinity"); return *this; @@ -49,7 +49,7 @@ ByteBuffer& ByteBuffer::operator>>(float& value) ByteBuffer& ByteBuffer::operator>>(double& value) { - value = read<double>(); + read(&value, 1); if (!std::isfinite(value)) throw ByteBufferInvalidValueException("double", "infinity"); return *this; diff --git a/src/server/shared/Packets/ByteBuffer.h b/src/server/shared/Packets/ByteBuffer.h index 0f9d3f753d3..d4aeb2e5d80 100644 --- a/src/server/shared/Packets/ByteBuffer.h +++ b/src/server/shared/Packets/ByteBuffer.h @@ -320,50 +320,50 @@ class TC_SHARED_API ByteBuffer ByteBuffer& operator>>(uint8& value) { - value = read<uint8>(); + read(&value, 1); return *this; } ByteBuffer& operator>>(uint16& value) { - value = read<uint16>(); + read(&value, 1); return *this; } ByteBuffer& operator>>(uint32& value) { - value = read<uint32>(); + read(&value, 1); return *this; } ByteBuffer& operator>>(uint64& value) { - value = read<uint64>(); + read(&value, 1); return *this; } //signed as in 2e complement ByteBuffer& operator>>(int8& value) { - value = read<int8>(); + read(&value, 1); return *this; } ByteBuffer& operator>>(int16& value) { - value = read<int16>(); + read(&value, 1); return *this; } ByteBuffer& operator>>(int32& value) { - value = read<int32>(); + read(&value, 1); return *this; } ByteBuffer& operator>>(int64& value) { - value = read<int64>(); + read(&value, 1); return *this; } |