diff options
author | megamage <none@none> | 2009-08-16 16:32:11 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-08-16 16:32:11 -0500 |
commit | 7ca0f5b7219b4589358acd04a97281001b860deb (patch) | |
tree | 10d7cdf8f9a2d4c2f947af42c34c62e4bfe153ff /src | |
parent | 188a81445757c934e21805d7a23203b2e4ae7a9d (diff) |
*Fix the crash caused by client customize log.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/CharacterHandler.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/game/CharacterHandler.cpp b/src/game/CharacterHandler.cpp index f2e5d3be287..d39b881095e 100644 --- a/src/game/CharacterHandler.cpp +++ b/src/game/CharacterHandler.cpp @@ -1259,13 +1259,16 @@ void WorldSession::HandleCharCustomize(WorldPacket& recv_data) } CharacterDatabase.escape_string(newname); + if(QueryResult *result = CharacterDatabase.PQuery("SELECT name FROM characters WHERE guid ='%u'", GUID_LOPART(guid))) + { + std::string oldname = result->Fetch()[0].GetCppString(); + std::string IP_str = GetRemoteAddress(); + sLog.outChar("Account: %d (IP: %s), Character[%s] (guid:%u) Customized to: %s", GetAccountId(), IP_str.c_str(), oldname.c_str(), GUID_LOPART(guid), newname.c_str()); + } Player::Customize(guid, gender, skin, face, hairStyle, hairColor, facialHair); CharacterDatabase.PExecute("UPDATE characters set name = '%s', at_login = at_login & ~ %u WHERE guid ='%u'", newname.c_str(), uint32(AT_LOGIN_CUSTOMIZE), GUID_LOPART(guid)); CharacterDatabase.PExecute("DELETE FROM character_declinedname WHERE guid ='%u'", GUID_LOPART(guid)); - std::string IP_str = GetRemoteAddress(); - sLog.outChar("Account: %d (IP: %s), Character[%s] (guid:%u) Customized to: %s", GetAccountId(), IP_str.c_str(), GetPlayer()->GetName(), GUID_LOPART(guid), newname.c_str()); - WorldPacket data(SMSG_CHAR_CUSTOMIZE, 1+8+(newname.size()+1)+6); data << uint8(RESPONSE_SUCCESS); data << uint64(guid); |