AssignGroupToInstance converted to QueryDatabase

This commit is contained in:
Arthur Ice 2014-07-06 15:11:09 -07:00 committed by Arthur Ice
parent 0ea1010e3f
commit 989b5d96c5

View File

@ -2522,32 +2522,23 @@ void Database::GetCharactersInInstance(uint16 instance_id, std::list<uint32> &ch
void Database::AssignGroupToInstance(uint32 gid, uint32 instance_id) void Database::AssignGroupToInstance(uint32 gid, uint32 instance_id)
{ {
char errbuf[MYSQL_ERRMSG_SIZE]; char *query = nullptr;
char *query = 0;
MYSQL_RES *result;
MYSQL_ROW row;
uint32 zone_id = ZoneIDFromInstanceID(instance_id); uint32 zone_id = ZoneIDFromInstanceID(instance_id);
uint16 version = VersionFromInstanceID(instance_id); uint16 version = VersionFromInstanceID(instance_id);
if (RunQuery(query, MakeAnyLenString(&query, "SELECT charid FROM group_id WHERE groupid=%u", gid), auto results = QueryDatabase(query, MakeAnyLenString(&query, "SELECT charid FROM group_id WHERE groupid=%u", gid));
errbuf, &result))
{
safe_delete_array(query); safe_delete_array(query);
while((row = mysql_fetch_row(result)) != nullptr)
if (!results.Success())
return;
for (auto row=results.begin();row != results.end();++row)
{ {
uint32 charid = atoi(row[0]); uint32 charid = atoi(row[0]);
if(GetInstanceID(zone_id, charid, version) == 0) if(GetInstanceID(zone_id, charid, version) == 0)
{
AddClientToInstance(instance_id, charid); AddClientToInstance(instance_id, charid);
} }
} }
mysql_free_result(result);
}
else
{
safe_delete_array(query);
}
}
void Database::AssignRaidToInstance(uint32 rid, uint32 instance_id) void Database::AssignRaidToInstance(uint32 rid, uint32 instance_id)
{ {