game: simplify escaped string handling
This commit is contained in:
@@ -814,11 +814,10 @@ void CGuild::SendDBSkillUpdate(int amount)
|
||||
|
||||
void CGuild::SaveSkill()
|
||||
{
|
||||
char text[GUILD_SKILL_COUNT * 2 + 1];
|
||||
|
||||
DBManager::instance().EscapeString(text, sizeof(text), (const char *) m_data.abySkill, sizeof(m_data.abySkill));
|
||||
const std::string escapedSkillData = DBManager::instance().EscapeStringCopy(
|
||||
reinterpret_cast<const char*>(m_data.abySkill), sizeof(m_data.abySkill));
|
||||
DBManager::instance().Query("UPDATE guild%s SET sp = %d, skill_point=%d, skill='%s' WHERE id = %u",
|
||||
get_table_postfix(), m_data.power, m_data.skill_point, text, m_data.guild_id);
|
||||
get_table_postfix(), m_data.power, m_data.skill_point, escapedSkillData.c_str(), m_data.guild_id);
|
||||
}
|
||||
|
||||
TGuildMember* CGuild::GetMember(DWORD pid)
|
||||
@@ -963,10 +962,8 @@ void CGuild::ChangeGradeName(BYTE grade, const char* grade_name)
|
||||
if (!*grade_name)
|
||||
return;
|
||||
|
||||
char text[GUILD_NAME_MAX_LEN * 2 + 1];
|
||||
|
||||
DBManager::instance().EscapeString(text, sizeof(text), grade_name, strlen(grade_name));
|
||||
DBManager::instance().FuncAfterQuery(FSendChangeGrade(GetID(), grade), "UPDATE guild_grade%s SET name = '%s' where guild_id = %u and grade = %d", get_table_postfix(), text, m_data.guild_id, grade);
|
||||
const std::string escapedGradeName = DBManager::instance().EscapeStringCopy(grade_name, strlen(grade_name));
|
||||
DBManager::instance().FuncAfterQuery(FSendChangeGrade(GetID(), grade), "UPDATE guild_grade%s SET name = '%s' where guild_id = %u and grade = %d", get_table_postfix(), escapedGradeName.c_str(), m_data.guild_id, grade);
|
||||
|
||||
grade--;
|
||||
strlcpy(m_data.grade_array[grade].grade_name, grade_name, sizeof(m_data.grade_array[grade].grade_name));
|
||||
|
||||
@@ -13,9 +13,6 @@
|
||||
#include "questmanager.h"
|
||||
#include "libsql/Statement.h"
|
||||
|
||||
static char __account[CHARACTER_NAME_MAX_LEN * 2 + 1];
|
||||
static char __companion[CHARACTER_NAME_MAX_LEN * 2 + 1];
|
||||
|
||||
namespace
|
||||
{
|
||||
bool PrepareMessengerStmt(CStmt& stmt, const std::string& query)
|
||||
@@ -149,9 +146,9 @@ void MessengerManager::Login(MessengerManager::keyA account)
|
||||
if (m_set_loginAccount.find(account) != m_set_loginAccount.end())
|
||||
return;
|
||||
|
||||
DBManager::instance().EscapeString(__account, sizeof(__account), account.c_str(), account.size());
|
||||
const std::string escapedAccount = DBManager::instance().EscapeStringCopy(account.c_str(), account.size());
|
||||
|
||||
if (account.compare(__account))
|
||||
if (account != escapedAccount)
|
||||
return;
|
||||
|
||||
m_set_loginAccount.insert(account);
|
||||
@@ -583,10 +580,10 @@ void MessengerManager::AddToList(MessengerManager::keyA account, MessengerManage
|
||||
if (m_Relation[account].find(companion) != m_Relation[account].end())
|
||||
return;
|
||||
|
||||
DBManager::instance().EscapeString(__account, sizeof(__account), account.c_str(), account.size());
|
||||
DBManager::instance().EscapeString(__companion, sizeof(__companion), companion.c_str(), companion.size());
|
||||
const std::string escapedAccount = DBManager::instance().EscapeStringCopy(account.c_str(), account.size());
|
||||
const std::string escapedCompanion = DBManager::instance().EscapeStringCopy(companion.c_str(), companion.size());
|
||||
|
||||
if (account.compare(__account) || companion.compare(__companion))
|
||||
if (account != escapedAccount || companion != escapedCompanion)
|
||||
return;
|
||||
|
||||
sys_log(0, "Messenger Add %s %s", account.c_str(), companion.c_str());
|
||||
@@ -649,11 +646,11 @@ void MessengerManager::RemoveFromList(MessengerManager::keyA account, MessengerM
|
||||
if (companion.size() == 0)
|
||||
return;
|
||||
|
||||
DBManager::instance().EscapeString(__account, sizeof(__account), account.c_str(), account.size());
|
||||
DBManager::instance().EscapeString(__companion, sizeof(__companion), companion.c_str(), companion.size());
|
||||
|
||||
if (account.compare(__account) || companion.compare(__companion))
|
||||
return;
|
||||
const std::string escapedAccount = DBManager::instance().EscapeStringCopy(account.c_str(), account.size());
|
||||
const std::string escapedCompanion = DBManager::instance().EscapeStringCopy(companion.c_str(), companion.size());
|
||||
|
||||
if (account != escapedAccount || companion != escapedCompanion)
|
||||
return;
|
||||
|
||||
sys_log(1, "Messenger Remove %s %s", account.c_str(), companion.c_str());
|
||||
|
||||
@@ -682,10 +679,10 @@ void MessengerManager::RemoveAllList(keyA account)
|
||||
{
|
||||
std::set<keyT> company(m_Relation[account]);
|
||||
|
||||
DBManager::instance().EscapeString(__account, sizeof(__account), account.c_str(), account.size());
|
||||
const std::string escapedAccount = DBManager::instance().EscapeStringCopy(account.c_str(), account.size());
|
||||
|
||||
if (account.compare(__account))
|
||||
return;
|
||||
if (account != escapedAccount)
|
||||
return;
|
||||
|
||||
/* SQL Data 삭제 */
|
||||
DeleteAllMessengerRelations(account);
|
||||
|
||||
Reference in New Issue
Block a user