diff options
author | Spp <spp@jorge.gr> | 2012-10-04 13:33:04 +0200 |
---|---|---|
committer | Spp <spp@jorge.gr> | 2012-10-04 13:33:04 +0200 |
commit | f570383fbadf12c02d2a3f323eadf5ca2417c3bd (patch) | |
tree | c28f940c3f77171a5b542189f8704c912001de51 /src/server/shared/Utilities/Util.cpp | |
parent | 94c8c7ec4e3a1cf625bee0bab77f8814253ddf0d (diff) | |
parent | e1bee86ee6f5c3ab7b1da6d1b54c98c2851f11ec (diff) |
Merge branch 'master' into 4.3.4
Conflicts:
src/server/game/Battlegrounds/Battleground.cpp
src/server/game/Battlegrounds/BattlegroundMgr.cpp
src/server/game/Entities/Player/Player.cpp
src/server/game/Entities/Transport/Transport.cpp
src/server/game/Entities/Unit/StatSystem.cpp
src/server/game/Entities/Unit/Unit.cpp
src/server/game/Spells/Auras/SpellAuraEffects.cpp
src/server/game/Spells/Auras/SpellAuras.cpp
src/server/game/Spells/SpellEffects.cpp
src/server/game/Spells/SpellInfo.cpp
Diffstat (limited to 'src/server/shared/Utilities/Util.cpp')
-rwxr-xr-x | src/server/shared/Utilities/Util.cpp | 42 |
1 files changed, 17 insertions, 25 deletions
diff --git a/src/server/shared/Utilities/Util.cpp b/src/server/shared/Utilities/Util.cpp index 89942b978df..67e46dd26da 100755 --- a/src/server/shared/Utilities/Util.cpp +++ b/src/server/shared/Utilities/Util.cpp @@ -16,8 +16,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include <iostream> #include "Util.h" +#include "Common.h" #include "utf8.h" #include "SFMT.h" #include <ace/TSS_T.h> @@ -56,13 +56,13 @@ double rand_chance(void) return sfmtRand->Random() * 100.0; } -Tokens::Tokens(const std::string &src, const char sep, uint32 vectorReserve) +Tokenizer::Tokenizer(const std::string &src, const char sep, uint32 vectorReserve) { m_str = new char[src.length() + 1]; memcpy(m_str, src.c_str(), src.length() + 1); if (vectorReserve) - reserve(vectorReserve); + m_storage.reserve(vectorReserve); char* posold = m_str; char* posnew = m_str; @@ -71,17 +71,17 @@ Tokens::Tokens(const std::string &src, const char sep, uint32 vectorReserve) { if (*posnew == sep) { - push_back(posold); + m_storage.push_back(posold); posold = posnew + 1; - *posnew = 0x00; + *posnew = '\0'; } - else if (*posnew == 0x00) + else if (*posnew == '\0') { // Hack like, but the old code accepted these kind of broken strings, // so changing it would break other things if (posold != posnew) - push_back(posold); + m_storage.push_back(posold); break; } @@ -471,29 +471,21 @@ void vutf8printf(FILE* out, const char *str, va_list* ap) #endif } -void hexEncodeByteArray(uint8* bytes, uint32 arrayLen, std::string& result) +std::string ByteArrayToHexStr(uint8 const* bytes, uint32 arrayLen, bool reverse /* = false */) { - std::ostringstream ss; - for (uint32 i=0; i<arrayLen; ++i) + int32 init = 0; + int32 end = arrayLen; + int8 op = 1; + + if (reverse) { - for (uint8 j=0; j<2; ++j) - { - unsigned char nibble = 0x0F & (bytes[i]>>((1-j)*4)); - char encodedNibble; - if (nibble < 0x0A) - encodedNibble = '0'+nibble; - else - encodedNibble = 'A'+nibble-0x0A; - ss << encodedNibble; - } + init = arrayLen - 1; + end = -1; + op = -1; } - result = ss.str(); -} -std::string ByteArrayToHexStr(uint8* bytes, uint32 length) -{ std::ostringstream ss; - for (uint32 i = 0; i < length; ++i) + for (int32 i = init; i != end; i += op) { char buffer[4]; sprintf(buffer, "%02X ", bytes[i]); |