aboutsummaryrefslogtreecommitdiff
path: root/src/server/authserver/Server/BattlenetBitStream.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2014-05-02 13:30:41 +0200
committerShauren <shauren.trinity@gmail.com>2014-05-02 13:30:41 +0200
commit2654fd67f32ef8b10cb0f9fcdc5033de62ca9a78 (patch)
tree49613d2dfbac81be6c8d894e5b800a06d2007261 /src/server/authserver/Server/BattlenetBitStream.h
parent6955d7c9ad0e55480aa97d9cafd878c6bc3dc426 (diff)
Core/Battle.net: Refactored FCC writing
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);
}