summaryrefslogtreecommitdiff
path: root/src/net/ea/messagein.cpp
diff options
context:
space:
mode:
authorBernd Wachter <bwachter-tmw@lart.info>2009-11-26 17:50:45 +0100
committerJared Adams <jaxad0127@gmail.com>2009-11-26 11:17:58 -0700
commitedf478e1eb7987e35d56df2777fbeb389dc915ec (patch)
tree6280ef3dbea8fddb2af2e2039c76ce59b0749353 /src/net/ea/messagein.cpp
parentfcc940800c047322aea40da5a24d9d5c0fbd051e (diff)
downloadmana-client-edf478e1eb7987e35d56df2777fbeb389dc915ec.tar.gz
mana-client-edf478e1eb7987e35d56df2777fbeb389dc915ec.tar.bz2
mana-client-edf478e1eb7987e35d56df2777fbeb389dc915ec.tar.xz
mana-client-edf478e1eb7987e35d56df2777fbeb389dc915ec.zip
Fix memory alignment on little endian systems
Diffstat (limited to 'src/net/ea/messagein.cpp')
-rw-r--r--src/net/ea/messagein.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/net/ea/messagein.cpp b/src/net/ea/messagein.cpp
index 1cca786a..12da6bfb 100644
--- a/src/net/ea/messagein.cpp
+++ b/src/net/ea/messagein.cpp
@@ -39,7 +39,7 @@ MessageIn::MessageIn(const char *data, unsigned int length):
int MessageIn::readInt16()
{
- int value = -1;
+ Sint16 value = -1;
if (mPos + 2 <= mLength)
{
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
@@ -47,7 +47,7 @@ int MessageIn::readInt16()
memcpy(&swap, mData + mPos, sizeof(Sint16));
value = SDL_Swap16(swap);
#else
- value = (*(Sint16*)(mData + mPos));
+ memcpy(&value, mData + mPos, sizeof(Sint16));
#endif
}
mPos += 2;
@@ -56,7 +56,7 @@ int MessageIn::readInt16()
int MessageIn::readInt32()
{
- int value = -1;
+ Sint32 value = -1;
if (mPos + 4 <= mLength)
{
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
@@ -64,7 +64,7 @@ int MessageIn::readInt32()
memcpy(&swap, mData + mPos, sizeof(Sint32));
value = SDL_Swap32(swap);
#else
- value = (*(Sint32*)(mData + mPos));
+ memcpy(&value, mData + mPos, sizeof(Sint32));
#endif
}
mPos += 4;