AssignRaidToInstance converted to QueryDatabase

This commit is contained in:
Arthur Ice 2014-07-06 15:13:12 -07:00 committed by Arthur Ice
parent 989b5d96c5
commit bb2dc991eb

View File

@ -2542,32 +2542,23 @@ void Database::AssignGroupToInstance(uint32 gid, uint32 instance_id)
void Database::AssignRaidToInstance(uint32 rid, uint32 instance_id) void Database::AssignRaidToInstance(uint32 rid, 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 raid_members WHERE raidid=%u", rid), auto results = QueryDatabase(query, MakeAnyLenString(&query, "SELECT charid FROM raid_members WHERE raidid=%u", rid));
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::FlagInstanceByGroupLeader(uint32 zone, int16 version, uint32 charid, uint32 gid) void Database::FlagInstanceByGroupLeader(uint32 zone, int16 version, uint32 charid, uint32 gid)
{ {