From b672475166f41fc70fb98a990e9b26e3724837bb Mon Sep 17 00:00:00 2001 From: Arthur Ice Date: Mon, 18 Aug 2014 18:23:22 -0700 Subject: [PATCH 1/7] LoadSettings converted to QueryDatabase --- world/EQLConfig.cpp | 57 ++++++++++++++++++--------------------------- 1 file changed, 23 insertions(+), 34 deletions(-) diff --git a/world/EQLConfig.cpp b/world/EQLConfig.cpp index 90955a620..4d2ea009c 100644 --- a/world/EQLConfig.cpp +++ b/world/EQLConfig.cpp @@ -33,46 +33,35 @@ EQLConfig::EQLConfig(const char *launcher_name) } void EQLConfig::LoadSettings() { - char errbuf[MYSQL_ERRMSG_SIZE]; - char* query = 0; - MYSQL_RES *result; - MYSQL_ROW row; - LauncherZone tmp; + LauncherZone tmp; char namebuf[128]; database.DoEscapeString(namebuf, m_name.c_str(), m_name.length()&0x3F); //limit len to 64 namebuf[127] = '\0'; - if (database.RunQuery(query, MakeAnyLenString(&query, - "SELECT dynamics FROM launcher WHERE name='%s'", - namebuf) - , errbuf, &result)) - { - while ((row = mysql_fetch_row(result))) { - m_dynamics = atoi(row[0]); - } - mysql_free_result(result); - } else { - LogFile->write(EQEMuLog::Error, "EQLConfig::LoadSettings: %s", errbuf); - } - safe_delete_array(query); + std::string query = StringFormat("SELECT dynamics FROM launcher WHERE name = '%s'", namebuf); + auto results = database.QueryDatabase(query); + if (!results.Success()) + LogFile->write(EQEMuLog::Error, "EQLConfig::LoadSettings: %s", results.ErrorMessage().c_str()); + else { + auto row = results.begin(); + m_dynamics = atoi(row[0]); + } + + query = StringFormat("SELECT zone, port FROM launcher_zones WHERE launcher = '%s'", namebuf); + results = database.QueryDatabase(query); + if (!results.Success()) { + LogFile->write(EQEMuLog::Error, "EQLConfig::LoadSettings: %s", results.ErrorMessage().c_str()); + return; + } + + LauncherZone zs; + for (auto row = results.begin(); row != results.end(); ++row) { + zs.name = row[0]; + zs.port = atoi(row[1]); + m_zones[zs.name] = zs; + } - if (database.RunQuery(query, MakeAnyLenString(&query, - "SELECT zone,port FROM launcher_zones WHERE launcher='%s'", - namebuf) - , errbuf, &result)) - { - LauncherZone zs; - while ((row = mysql_fetch_row(result))) { - zs.name = row[0]; - zs.port = atoi(row[1]); - m_zones[zs.name] = zs; - } - mysql_free_result(result); - } else { - LogFile->write(EQEMuLog::Error, "EQLConfig::LoadSettings: %s", errbuf); - } - safe_delete_array(query); } EQLConfig *EQLConfig::CreateLauncher(const char *name, uint8 dynamic_count) { From 352d46d2eee75298542d0eb81fec7f1c6baaa8f5 Mon Sep 17 00:00:00 2001 From: Arthur Ice Date: Mon, 18 Aug 2014 18:25:26 -0700 Subject: [PATCH 2/7] CreateLauncher converted to QueryDatabase --- world/EQLConfig.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/world/EQLConfig.cpp b/world/EQLConfig.cpp index 4d2ea009c..87606ce5f 100644 --- a/world/EQLConfig.cpp +++ b/world/EQLConfig.cpp @@ -65,23 +65,19 @@ void EQLConfig::LoadSettings() { } EQLConfig *EQLConfig::CreateLauncher(const char *name, uint8 dynamic_count) { - char errbuf[MYSQL_ERRMSG_SIZE]; - char *query = 0; char namebuf[128]; database.DoEscapeString(namebuf, name, strlen(name)&0x3F); //limit len to 64 namebuf[127] = '\0'; - if (!database.RunQuery(query, MakeAnyLenString(&query, - "INSERT INTO launcher (name,dynamics) VALUES('%s', %d)", - namebuf, dynamic_count), errbuf)) { - LogFile->write(EQEMuLog::Error, "Error in CreateLauncher query: %s", errbuf); - safe_delete_array(query); + std::string query = StringFormat("INSERT INTO launcher (name, dynamics) VALUES('%s', %d)", namebuf, dynamic_count); + auto results = database.QueryDatabase(query); + if (!results.Success()) { + LogFile->write(EQEMuLog::Error, "Error in CreateLauncher query: %s", results.ErrorMessage().c_str()); return nullptr; } - safe_delete_array(query); - return(new EQLConfig(name)); + return new EQLConfig(name); } void EQLConfig::GetZones(std::vector &result) { From b5a46735df3a0297187a318c144111a6837eb3a6 Mon Sep 17 00:00:00 2001 From: Arthur Ice Date: Mon, 18 Aug 2014 18:28:54 -0700 Subject: [PATCH 3/7] DeleteLauncher converted to QueryDatabase --- world/EQLConfig.cpp | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/world/EQLConfig.cpp b/world/EQLConfig.cpp index 87606ce5f..95b176e07 100644 --- a/world/EQLConfig.cpp +++ b/world/EQLConfig.cpp @@ -111,30 +111,23 @@ void EQLConfig::DeleteLauncher() { launcher_list.Remove(m_name.c_str()); - char errbuf[MYSQL_ERRMSG_SIZE]; - char *query = 0; - char namebuf[128]; database.DoEscapeString(namebuf, m_name.c_str(), m_name.length()&0x3F); //limit len to 64 namebuf[127] = '\0'; - if (!database.RunQuery(query, MakeAnyLenString(&query, - "DELETE FROM launcher WHERE name='%s'", - namebuf), errbuf)) { - LogFile->write(EQEMuLog::Error, "Error in DeleteLauncher 1 query: %s", errbuf); - safe_delete_array(query); + std::string query = StringFormat("DELETE FROM launcher WHERE name = '%s'", namebuf); + auto results = database.QueryDatabase(query); + if (!results.Success()) { + LogFile->write(EQEMuLog::Error, "Error in DeleteLauncher 1st query: %s", results.ErrorMessage().c_str()); return; } - safe_delete_array(query); - if (!database.RunQuery(query, MakeAnyLenString(&query, - "DELETE FROM launcher_zones WHERE launcher='%s'", - namebuf), errbuf)) { - LogFile->write(EQEMuLog::Error, "Error in DeleteLauncher 2 query: %s", errbuf); - safe_delete_array(query); + query = StringFormat("DELETE FROM launcher_zones WHERE launcher = '%s'", namebuf); + results = database.QueryDatabase(query); + if (!results.Success()) { + LogFile->write(EQEMuLog::Error, "Error in DeleteLauncher 2nd query: %s", results.ErrorMessage().c_str()); return; } - safe_delete_array(query); } bool EQLConfig::IsConnected() const { From e4320f98f8679f06bc6733fa52186e489a8d6116 Mon Sep 17 00:00:00 2001 From: Arthur Ice Date: Mon, 18 Aug 2014 18:31:20 -0700 Subject: [PATCH 4/7] BootStaticZone converted to QueryDatabase --- world/EQLConfig.cpp | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/world/EQLConfig.cpp b/world/EQLConfig.cpp index 95b176e07..216d61e7d 100644 --- a/world/EQLConfig.cpp +++ b/world/EQLConfig.cpp @@ -159,12 +159,9 @@ void EQLConfig::StartZone(Const_char *zone_ref) { bool EQLConfig::BootStaticZone(Const_char *short_name, uint16 port) { //make sure the short name is valid. if(database.GetZoneID(short_name) == 0) - return(false); + return false; //database update - char errbuf[MYSQL_ERRMSG_SIZE]; - char *query = 0; - char namebuf[128]; database.DoEscapeString(namebuf, m_name.c_str(), m_name.length()&0x3F); //limit len to 64 namebuf[127] = '\0'; @@ -172,14 +169,13 @@ bool EQLConfig::BootStaticZone(Const_char *short_name, uint16 port) { database.DoEscapeString(zonebuf, short_name, strlen(short_name)&0xF); //limit len to 16 zonebuf[31] = '\0'; - if (!database.RunQuery(query, MakeAnyLenString(&query, - "INSERT INTO launcher_zones (launcher,zone,port) VALUES('%s', '%s', %d)", - namebuf, zonebuf, port), errbuf)) { - LogFile->write(EQEMuLog::Error, "Error in BootStaticZone query: %s", errbuf); - safe_delete_array(query); + std::string query = StringFormat("INSERT INTO launcher_zones (launcher, zone, port) " + "VALUES('%s', '%s', %d)", namebuf, zonebuf, port); + auto results = database.QueryDatabase(query); + if (!results.Success()) { + LogFile->write(EQEMuLog::Error, "Error in BootStaticZone query: %s", results.ErrorMessage().c_str()); return false; } - safe_delete_array(query); //update our internal state. LauncherZone lz; @@ -193,7 +189,7 @@ bool EQLConfig::BootStaticZone(Const_char *short_name, uint16 port) { ll->BootZone(short_name, port); } - return(true); + return true; } bool EQLConfig::ChangeStaticZone(Const_char *short_name, uint16 port) { From 0af394fb96b11d4b4f04a13904a472af70f36e5c Mon Sep 17 00:00:00 2001 From: Arthur Ice Date: Mon, 18 Aug 2014 18:34:15 -0700 Subject: [PATCH 5/7] ChangeStaticZone converted to QueryDatabase --- world/EQLConfig.cpp | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/world/EQLConfig.cpp b/world/EQLConfig.cpp index 216d61e7d..bf15dc587 100644 --- a/world/EQLConfig.cpp +++ b/world/EQLConfig.cpp @@ -195,7 +195,7 @@ bool EQLConfig::BootStaticZone(Const_char *short_name, uint16 port) { bool EQLConfig::ChangeStaticZone(Const_char *short_name, uint16 port) { //make sure the short name is valid. if(database.GetZoneID(short_name) == 0) - return(false); + return false; //check internal state std::map::iterator res; @@ -203,14 +203,9 @@ bool EQLConfig::ChangeStaticZone(Const_char *short_name, uint16 port) { if(res == m_zones.end()) { //not found. LogFile->write(EQEMuLog::Error, "Update for unknown zone %s", short_name); - return(false); + return false; } - - //database update - char errbuf[MYSQL_ERRMSG_SIZE]; - char *query = 0; - char namebuf[128]; database.DoEscapeString(namebuf, m_name.c_str(), m_name.length()&0x3F); //limit len to 64 namebuf[127] = '\0'; @@ -218,15 +213,13 @@ bool EQLConfig::ChangeStaticZone(Const_char *short_name, uint16 port) { database.DoEscapeString(zonebuf, short_name, strlen(short_name)&0xF); //limit len to 16 zonebuf[31] = '\0'; - if (!database.RunQuery(query, MakeAnyLenString(&query, - "UPDATE launcher_zones SET port=%d WHERE launcher='%s' AND zone='%s'", - port, namebuf, zonebuf), errbuf)) { - LogFile->write(EQEMuLog::Error, "Error in ChangeStaticZone query: %s", errbuf); - safe_delete_array(query); + std::string query = StringFormat("UPDATE launcher_zones SET port=%d WHERE " + "launcher = '%s' AND zone = '%s'",port, namebuf, zonebuf); + auto results = database.QueryDatabase(query); + if (!results.Success()) { + LogFile->write(EQEMuLog::Error, "Error in ChangeStaticZone query: %s", results.ErrorMessage().c_str()); return false; } - safe_delete_array(query); - //update internal state res->second.port = port; @@ -237,7 +230,7 @@ bool EQLConfig::ChangeStaticZone(Const_char *short_name, uint16 port) { ll->RestartZone(short_name); } - return(true); + return true; } bool EQLConfig::DeleteStaticZone(Const_char *short_name) { From ab70427b7d1bb307ecc1187f8b1fd3c6be5d5f05 Mon Sep 17 00:00:00 2001 From: Arthur Ice Date: Mon, 18 Aug 2014 18:36:08 -0700 Subject: [PATCH 6/7] DeleteStaticZone converted to QueryDatabase --- world/EQLConfig.cpp | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/world/EQLConfig.cpp b/world/EQLConfig.cpp index bf15dc587..4597ff5a1 100644 --- a/world/EQLConfig.cpp +++ b/world/EQLConfig.cpp @@ -240,13 +240,9 @@ bool EQLConfig::DeleteStaticZone(Const_char *short_name) { if(res == m_zones.end()) { //not found. LogFile->write(EQEMuLog::Error, "Update for unknown zone %s", short_name); - return(false); + return false; } - //database update - char errbuf[MYSQL_ERRMSG_SIZE]; - char *query = 0; - char namebuf[128]; database.DoEscapeString(namebuf, m_name.c_str(), m_name.length()&0x3F); //limit len to 64 namebuf[127] = '\0'; @@ -254,14 +250,13 @@ bool EQLConfig::DeleteStaticZone(Const_char *short_name) { database.DoEscapeString(zonebuf, short_name, strlen(short_name)&0xF); //limit len to 16 zonebuf[31] = '\0'; - if (!database.RunQuery(query, MakeAnyLenString(&query, - "DELETE FROM launcher_zones WHERE launcher='%s' AND zone='%s'", - namebuf, zonebuf), errbuf)) { - LogFile->write(EQEMuLog::Error, "Error in DeleteStaticZone query: %s", errbuf); - safe_delete_array(query); + std::string query = StringFormat("DELETE FROM launcher_zones WHERE " + "launcher = '%s' AND zone = '%s'", namebuf, zonebuf); + auto results = database.QueryDatabase(query); + if (!results.Success()) { + LogFile->write(EQEMuLog::Error, "Error in DeleteStaticZone query: %s", results.ErrorMessage().c_str()); return false; } - safe_delete_array(query); //internal update. m_zones.erase(res); From c4f1f57f748b5ddd6ebd1b85af8cad41a49cb451 Mon Sep 17 00:00:00 2001 From: Arthur Ice Date: Mon, 18 Aug 2014 18:38:51 -0700 Subject: [PATCH 7/7] SetDynamicCount converted to QueryDatabase --- world/EQLConfig.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/world/EQLConfig.cpp b/world/EQLConfig.cpp index 4597ff5a1..6c5ddaf39 100644 --- a/world/EQLConfig.cpp +++ b/world/EQLConfig.cpp @@ -271,21 +271,17 @@ bool EQLConfig::DeleteStaticZone(Const_char *short_name) { } bool EQLConfig::SetDynamicCount(int count) { - char errbuf[MYSQL_ERRMSG_SIZE]; - char *query = 0; char namebuf[128]; database.DoEscapeString(namebuf, m_name.c_str(), m_name.length()&0x3F); //limit len to 64 namebuf[127] = '\0'; - if (!database.RunQuery(query, MakeAnyLenString(&query, - "UPDATE launcher SET dynamics=%d WHERE name='%s'", - count, namebuf), errbuf)) { - LogFile->write(EQEMuLog::Error, "Error in SetDynamicCount query: %s", errbuf); - safe_delete_array(query); + std::string query = StringFormat("UPDATE launcher SET dynamics=%d WHERE name='%s'", count, namebuf); + auto results = database.QueryDatabase(query); + if (!results.Success()) { + LogFile->write(EQEMuLog::Error, "Error in SetDynamicCount query: %s", results.ErrorMessage().c_str()); return false; } - safe_delete_array(query); //update in-memory version. m_dynamics = count; @@ -296,7 +292,7 @@ bool EQLConfig::SetDynamicCount(int count) { ll->BootDynamics(count); } - return(false); + return false; } int EQLConfig::GetDynamicCount() const {