summaryrefslogtreecommitdiff
path: root/src/net/ea/messageout.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/ea/messageout.cpp')
-rw-r--r--src/net/ea/messageout.cpp6
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