diff options
Diffstat (limited to 'src/net/ea/messageout.cpp')
-rw-r--r-- | src/net/ea/messageout.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/net/ea/messageout.cpp b/src/net/ea/messageout.cpp index f75dcf7e..9493ee80 100644 --- a/src/net/ea/messageout.cpp +++ b/src/net/ea/messageout.cpp @@ -48,7 +48,8 @@ void MessageOut::writeInt16(Sint16 value) { expand(2); #if SDL_BYTEORDER == SDL_BIG_ENDIAN - (*(Sint16 *)(mData + mPos)) = SDL_Swap16(value); + Sint16 swap=SDL_Swap16(value); + memcpy(mData + mPos, &swap, sizeof(Sint16)); #else (*(Sint16 *)(mData + mPos)) = value; #endif @@ -59,7 +60,8 @@ void MessageOut::writeInt32(Sint32 value) { expand(4); #if SDL_BYTEORDER == SDL_BIG_ENDIAN - (*(Sint32 *)(mData + mPos)) = SDL_Swap32(value); + Sint32 swap=SDL_Swap32(value); + memcpy(mData + mPos, &swap, sizeof(Sint32)); #else (*(Sint32 *)(mData + mPos)) = value; #endif |