From 21ba9953f8ae9dedf7d035df9110e9b4e745acc6 Mon Sep 17 00:00:00 2001 From: Arthur Ice Date: Wed, 20 Aug 2014 12:52:41 -0700 Subject: [PATCH 1/3] SetZoneFlag converted to QueryDatabase --- zone/zoning.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/zone/zoning.cpp b/zone/zoning.cpp index f69598ce5..565ebf8d2 100644 --- a/zone/zoning.cpp +++ b/zone/zoning.cpp @@ -723,16 +723,11 @@ void Client::SetZoneFlag(uint32 zone_id) { zone_flags.insert(zone_id); - //update the DB - char errbuf[MYSQL_ERRMSG_SIZE]; - char *query = 0; - // Retrieve all waypoints for this grid - if(!database.RunQuery(query,MakeAnyLenString(&query, - "INSERT INTO zone_flags (charID,zoneID) VALUES(%d,%d)", - CharacterID(),zone_id),errbuf)) { - LogFile->write(EQEMuLog::Error, "MySQL Error while trying to set zone flag for %s: %s", GetName(), errbuf); - } + std::string query = StringFormat("INSERT INTO zone_flags (charID,zoneID) VALUES(%d,%d)", CharacterID(), zone_id); + auto results = database.QueryDatabase(query); + if(!results.Success()) + LogFile->write(EQEMuLog::Error, "MySQL Error while trying to set zone flag for %s: %s", GetName(), results.ErrorMessage().c_str()); } void Client::ClearZoneFlag(uint32 zone_id) { From bc90ab795bd571369a74fc651bfd40080b0a31a9 Mon Sep 17 00:00:00 2001 From: Arthur Ice Date: Wed, 20 Aug 2014 12:55:53 -0700 Subject: [PATCH 2/3] ClearZoneFlag converted to QueryDatabase --- zone/zoning.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/zone/zoning.cpp b/zone/zoning.cpp index 565ebf8d2..de1f73193 100644 --- a/zone/zoning.cpp +++ b/zone/zoning.cpp @@ -736,16 +736,12 @@ void Client::ClearZoneFlag(uint32 zone_id) { zone_flags.erase(zone_id); - //update the DB - char errbuf[MYSQL_ERRMSG_SIZE]; - char *query = 0; - // Retrieve all waypoints for this grid - if(!database.RunQuery(query,MakeAnyLenString(&query, - "DELETE FROM zone_flags WHERE charID=%d AND zoneID=%d", - CharacterID(),zone_id),errbuf)) { - LogFile->write(EQEMuLog::Error, "MySQL Error while trying to clear zone flag for %s: %s", GetName(), errbuf); - } + std::string query = StringFormat("DELETE FROM zone_flags WHERE charID=%d AND zoneID=%d", CharacterID(), zone_id); + auto results = database.QueryDatabase(query); + if(!results.Success()) + LogFile->write(EQEMuLog::Error, "MySQL Error while trying to clear zone flag for %s: %s", GetName(), results.ErrorMessage().c_str()); + } void Client::LoadZoneFlags() { From cf4145dad470ac146cfb3649d4682444c671f211 Mon Sep 17 00:00:00 2001 From: Arthur Ice Date: Wed, 20 Aug 2014 13:02:27 -0700 Subject: [PATCH 3/3] LoadZoneFlags converted to QueryDatabase --- zone/zoning.cpp | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/zone/zoning.cpp b/zone/zoning.cpp index de1f73193..ae10ecf59 100644 --- a/zone/zoning.cpp +++ b/zone/zoning.cpp @@ -745,26 +745,17 @@ void Client::ClearZoneFlag(uint32 zone_id) { } void Client::LoadZoneFlags() { - char errbuf[MYSQL_ERRMSG_SIZE]; - char *query = 0; - MYSQL_RES *result; - MYSQL_ROW row; // Retrieve all waypoints for this grid - if(database.RunQuery(query,MakeAnyLenString(&query, - "SELECT zoneID from zone_flags WHERE charID=%d", - CharacterID()),errbuf,&result)) - { - while((row = mysql_fetch_row(result))) { - zone_flags.insert(atoi(row[0])); - } - mysql_free_result(result); - } - else // DB query error! - { - LogFile->write(EQEMuLog::Error, "MySQL Error while trying to load zone flags for %s: %s", GetName(), errbuf); - } - safe_delete_array(query); + std::string query = StringFormat("SELECT zoneID from zone_flags WHERE charID=%d", CharacterID()); + auto results = database.QueryDatabase(query); + if (!results.Success()) { + LogFile->write(EQEMuLog::Error, "MySQL Error while trying to load zone flags for %s: %s", GetName(), results.ErrorMessage().c_str()); + return; + } + + for(auto row = results.begin(); row != results.end(); ++row) + zone_flags.insert(atoi(row[0])); } bool Client::HasZoneFlag(uint32 zone_id) const {