From 65a5155d584c7c41bbcd767b4b7b6722b6ea4f23 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 16 Sep 2014 13:52:36 +0300 Subject: add support for reading int64 from server. --- src/net/tmwa/messagein.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/net/tmwa/messagein.cpp') diff --git a/src/net/tmwa/messagein.cpp b/src/net/tmwa/messagein.cpp index d467048d7..8fe50249a 100644 --- a/src/net/tmwa/messagein.cpp +++ b/src/net/tmwa/messagein.cpp @@ -85,4 +85,23 @@ int32_t MessageIn::readInt32(const char *const str) return value; } +int64_t MessageIn::readInt64(const char *const str) +{ + int32_t value = -1; + if (mPos + 8 <= mLength) + { +#if SDL_BYTEORDER == SDL_BIG_ENDIAN + int64_t swap; + memcpy(&swap, mData + static_cast(mPos), sizeof(int64_t)); + value = SDL_Swap64(swap); +#else + memcpy(&value, mData + static_cast(mPos), sizeof(int64_t)); +#endif + } + DEBUGLOG2("readInt64: " + toStringPrint(value), mPos, str); + mPos += 8; + PacketCounters::incInBytes(8); + return value; +} + } // namespace TmwAthena -- cgit v1.2.3-70-g09d2