From 84e95d9a2807fa25c2fc1a971059f38ccf8b0d1d Mon Sep 17 00:00:00 2001 From: Arthur Ice Date: Mon, 18 Aug 2014 14:36:58 -0700 Subject: [PATCH] ListRulesets converted to QueryDatabase --- common/rulesys.cpp | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/common/rulesys.cpp b/common/rulesys.cpp index 93c519a45..f23d482b3 100644 --- a/common/rulesys.cpp +++ b/common/rulesys.cpp @@ -382,29 +382,22 @@ std::string RuleManager::GetRulesetName(Database *db, int id) { } bool RuleManager::ListRulesets(Database *db, std::map &into) { - char errbuf[MYSQL_ERRMSG_SIZE]; - char *query = 0; - MYSQL_RES *result; - MYSQL_ROW row; //start out with the default set which is always present. into[0] = "default"; - if (db->RunQuery(query, MakeAnyLenString(&query, - "SELECT ruleset_id,name" - " FROM rule_sets"), errbuf, &result)) + std::string query = "SELECT ruleset_id, name FROM rule_sets"; + auto results = db->QueryDatabase(query); + if (results.Success()) { - while((row = mysql_fetch_row(result))) { - into[ atoi(row[0]) ] = row[1]; - } - mysql_free_result(result); - safe_delete_array(query); - } else { - LogFile->write(EQEMuLog::Error, "Error in ListRulesets query %s: %s", query, errbuf); - safe_delete_array(query); - return(false); + LogFile->write(EQEMuLog::Error, "Error in ListRulesets query %s: %s", query.c_str(), results.ErrorMessage().c_str()); + return false; } - return(true); + + for (auto row = results.begin(); row != results.end(); ++row) + into[ atoi(row[0]) ] = row[1]; + + return true; } int32 RuleManager::GetIntRule(RuleManager::IntType t) const