From 0ea1010e3f9ce4c0662410573748c8afd0788cf4 Mon Sep 17 00:00:00 2001 From: Arthur Ice Date: Sun, 6 Jul 2014 15:07:55 -0700 Subject: [PATCH] GetCharactersInInstance converted to QueryDatabase --- common/database.cpp | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/common/database.cpp b/common/database.cpp index 0d38ce55c..4fbb3fa42 100644 --- a/common/database.cpp +++ b/common/database.cpp @@ -2504,23 +2504,20 @@ uint16 Database::GetInstanceID(uint32 zone, uint32 charid, int16 version) } void Database::GetCharactersInInstance(uint16 instance_id, std::list &charid_list) { - char errbuf[MYSQL_ERRMSG_SIZE]; - char *query = 0; - MYSQL_RES *result; - MYSQL_ROW row; + char *query = nullptr; - if (RunQuery(query, MakeAnyLenString(&query, "SELECT charid FROM instance_list_player WHERE id=%u", instance_id), errbuf, &result)) { - safe_delete_array(query); - while ((row = mysql_fetch_row(result))) - { - charid_list.push_back(atoi(row[0])); - } - mysql_free_result(result); - } - else { - LogFile->write(EQEMuLog::Error, "Error in GetCharactersInInstace query '%s': %s", query, errbuf); + auto results = QueryDatabase(query, MakeAnyLenString(&query, "SELECT charid FROM instance_list_player WHERE id=%u", instance_id)); + + if (!results.Success()) + { + LogFile->write(EQEMuLog::Error, "Error in GetCharactersInInstace query '%s': %s", query, results.ErrorMessage().c_str()); safe_delete_array(query); + return; } + safe_delete_array(query); + + for(auto row=results.begin();row != results.end();++row) + charid_list.push_back(atoi(row[0])); } void Database::AssignGroupToInstance(uint32 gid, uint32 instance_id)