From 2654fd67f32ef8b10cb0f9fcdc5033de62ca9a78 Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 2 May 2014 13:30:41 +0200 Subject: Core/Battle.net: Refactored FCC writing --- src/server/authserver/Server/BattlenetBitStream.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/server/authserver/Server/BattlenetBitStream.h') 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); } -- cgit v1.2.3