From 2a19a3ced4e08021673eaa69520ca4f565a7e156 Mon Sep 17 00:00:00 2001 From: Arthur Ice Date: Thu, 3 Jul 2014 18:51:24 -0700 Subject: [PATCH] LoadZoneNames converted to QueryDatabase --- common/database.cpp | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/common/database.cpp b/common/database.cpp index 3a9a8758a..8ac8d58a0 100644 --- a/common/database.cpp +++ b/common/database.cpp @@ -1184,25 +1184,24 @@ bool Database::GetZoneGraveyard(const uint32 graveyard_id, uint32* graveyard_zon } bool Database::LoadZoneNames() { - char errbuf[MYSQL_ERRMSG_SIZE]; - char *query = 0; - MYSQL_RES *result; - MYSQL_ROW row; + char *query = nullptr; - if (RunQuery(query, MakeAnyLenString(&query, "SELECT zoneidnumber, short_name FROM zone"), errbuf, &result)) { - safe_delete_array(query); - while ((row = mysql_fetch_row(result))) { - uint32 zoneid = atoi(row[0]); - std::string zonename = row[1]; - zonename_array.insert(std::pair(zoneid,zonename)); - } - } - else { + auto results = QueryDatabase(query,MakeAnyLenString(&query, "SELECT zoneidnumber, short_name FROM zone")); + + if (!results.Success()) + { std::cerr << "Error in LoadZoneNames query '" << query << "' " << errbuf << std::endl; safe_delete_array(query); return false; } - mysql_free_result(result); + safe_delete_array(query); + + for (auto row= results.begin();row != results.end();++row) + { + uint32 zoneid = atoi(row[0]); + std::string zonename = row[1]; + zonename_array.insert(std::pair(zoneid,zonename)); + } return true; }