aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Tools/PlayerDump.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/server/game/Tools/PlayerDump.cpp b/src/server/game/Tools/PlayerDump.cpp
index 035548ad035..445ad5b3c41 100644
--- a/src/server/game/Tools/PlayerDump.cpp
+++ b/src/server/game/Tools/PlayerDump.cpp
@@ -925,17 +925,17 @@ DumpReturn PlayerDumpReader::LoadDump(std::string const& file, uint32 account, s
level = uint8(atoul(GetColumn(ts, line, "level").c_str()));
if (name.empty())
{
- // check if the original name already exists
- name = GetColumn(ts, line, "name");
+ // generate a temporary name
+ std::string guidPart = Trinity::StringFormat("%X", guid);
+ std::size_t maxCharsFromOriginalName = MAX_PLAYER_NAME - guidPart.length();
- CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHECK_NAME);
- stmt->setString(0, name);
- PreparedQueryResult result = CharacterDatabase.Query(stmt);
+ name = GetColumn(ts, line, "name").substr(0, maxCharsFromOriginalName) + guidPart;
// characters.at_login set to "rename on login"
- if (result)
- if (!ChangeColumn(ts, line, "at_login", "1"))
- return DUMP_FILE_BROKEN;
+ if (!ChangeColumn(ts, line, "name", name))
+ return DUMP_FILE_BROKEN;
+ if (!ChangeColumn(ts, line, "at_login", "1"))
+ return DUMP_FILE_BROKEN;
}
else if (!ChangeColumn(ts, line, "name", name)) // characters.name
return DUMP_FILE_BROKEN;