From b98f8c6262be2b40385a87b51dffc3b1650dfd6e Mon Sep 17 00:00:00 2001 From: Arthur Ice Date: Mon, 18 Aug 2014 13:42:25 -0700 Subject: [PATCH] SkillUsable converted to QueryDatabase --- client_files/export/main.cpp | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/client_files/export/main.cpp b/client_files/export/main.cpp index 9ff190636..9c00acebe 100644 --- a/client_files/export/main.cpp +++ b/client_files/export/main.cpp @@ -94,25 +94,25 @@ void ExportSpells(SharedDatabase *db) { } bool SkillUsable(SharedDatabase *db, int skill_id, int class_id) { - char errbuf[MYSQL_ERRMSG_SIZE]; - char *query = nullptr; - MYSQL_RES *result; - MYSQL_ROW row; - bool res = false; - if(db->RunQuery(query, MakeAnyLenString(&query, "SELECT max(cap) FROM skill_caps WHERE class=%d AND skillID=%d", - class_id, skill_id), errbuf, &result)) { - if(row = mysql_fetch_row(result)) { - if(row[0] && atoi(row[0]) > 0) { - res = true; - } - } - mysql_free_result(result); - } else { - LogFile->write(EQEMuLog::Error, "Error in skill_usable query '%s' %s", query, errbuf); - } - safe_delete_array(query); - return res; + bool res = false; + + std::string query = StringFormat("SELECT max(cap) FROM skill_caps WHERE class=%d AND skillID=%d", + class_id, skill_id); + auto results = db->QueryDatabase(query); + if(!results.Success()) { + LogFile->write(EQEMuLog::Error, "Error in skill_usable query '%s' %s", query.c_str(), results.ErrorMessage().c_str()); + return false; + } + + if (results.RowCount() == 0) + return false; + + auto row = results.begin(); + if(row[0] && atoi(row[0]) > 0) + return true; + + return false; } int GetSkill(SharedDatabase *db, int skill_id, int class_id, int level) {