aboutsummaryrefslogtreecommitdiff
path: root/src/server/authserver/Server/BattlenetBitStream.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/authserver/Server/BattlenetBitStream.h')
-rw-r--r--src/server/authserver/Server/BattlenetBitStream.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/server/authserver/Server/BattlenetBitStream.h b/src/server/authserver/Server/BattlenetBitStream.h
index d372e0933c2..9d5f4c85f0d 100644
--- a/src/server/authserver/Server/BattlenetBitStream.h
+++ b/src/server/authserver/Server/BattlenetBitStream.h
@@ -138,10 +138,15 @@ namespace Battlenet
}
//WriteFloat
- void WriteFourCC(char const* fcc)
+ void WriteFourCC(std::string const& fcc)
{
- uint32 intVal = *(uint32*)fcc;
+ uint32 intVal = *(uint32*)fcc.c_str();
+ size_t len = fcc.length();
EndianConvertReverse(intVal);
+ // Add padding
+ while (len++ < 4)
+ intVal >>= 8;
+
Write(intVal, 32);
}