diff options
Diffstat (limited to 'src/server/authserver/Server/BattlenetBitStream.h')
| -rw-r--r-- | src/server/authserver/Server/BattlenetBitStream.h | 9 |
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); } |
