Changed constructor call for stringstream in ClientTaskState::EnableTask/DisableTask (write position issues)

This commit is contained in:
Uleat 2016-07-15 19:32:46 -04:00
parent bbf4d19de3
commit 6cb2fdd737

View File

@ -718,7 +718,8 @@ void ClientTaskState::EnableTask(int characterID, int taskCount, int *tasks) {
if(tasksEnabled.empty() ) if(tasksEnabled.empty() )
return; return;
std::stringstream queryStream("REPLACE INTO character_enabledtasks (charid, taskid) VALUES "); std::stringstream queryStream;
queryStream << "REPLACE INTO character_enabledtasks (charid, taskid) VALUES ";
for(unsigned int i=0; i<tasksEnabled.size(); i++) for(unsigned int i=0; i<tasksEnabled.size(); i++)
queryStream << (i ? ", " : "") << StringFormat("(%i, %i)", characterID, tasksEnabled[i]); queryStream << (i ? ", " : "") << StringFormat("(%i, %i)", characterID, tasksEnabled[i]);
@ -729,7 +730,7 @@ void ClientTaskState::EnableTask(int characterID, int taskCount, int *tasks) {
database.QueryDatabase(query); database.QueryDatabase(query);
} }
else { else {
Log.Out(Logs::General, Logs::Tasks, "[UPDATE] EnableTask called for characterID: %u .. but, no tasks exist!", characterID); Log.Out(Logs::General, Logs::Tasks, "[UPDATE] EnableTask called for characterID: %u .. but, no tasks exist", characterID);
} }
} }
@ -768,7 +769,8 @@ void ClientTaskState::DisableTask(int charID, int taskCount, int *taskList) {
if(tasksDisabled.empty()) if(tasksDisabled.empty())
return; return;
std::stringstream queryStream(StringFormat("DELETE FROM character_enabledtasks WHERE charid = %i AND (", charID)); std::stringstream queryStream;
queryStream << StringFormat("DELETE FROM character_enabledtasks WHERE charid = %i AND (", charID);
for(unsigned int i=0; i<tasksDisabled.size(); i++) for(unsigned int i=0; i<tasksDisabled.size(); i++)
queryStream << (i ? StringFormat("taskid = %i ", tasksDisabled[i]) : StringFormat("OR taskid = %i ", tasksDisabled[i])); queryStream << (i ? StringFormat("taskid = %i ", tasksDisabled[i]) : StringFormat("OR taskid = %i ", tasksDisabled[i]));
@ -782,7 +784,7 @@ void ClientTaskState::DisableTask(int charID, int taskCount, int *taskList) {
database.QueryDatabase(query); database.QueryDatabase(query);
} }
else { else {
Log.Out(Logs::General, Logs::Tasks, "[UPDATE] DisableTask called for characterID: %u .. but, no tasks exist!", charID); Log.Out(Logs::General, Logs::Tasks, "[UPDATE] DisableTask called for characterID: %u .. but, no tasks exist", charID);
} }
} }