From 695e6f2026b057295559ea0465aa917fcf66c85c Mon Sep 17 00:00:00 2001 From: Arthur Ice Date: Sat, 5 Jul 2014 11:10:52 -0700 Subject: [PATCH] ClearGroupLeader converted to QueryDatabase --- common/database.cpp | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/common/database.cpp b/common/database.cpp index fdca3d032..c80d22a91 100644 --- a/common/database.cpp +++ b/common/database.cpp @@ -1910,17 +1910,26 @@ char *Database::GetGroupLeadershipInfo(uint32 gid, char* leaderbuf, char* mainta return leaderbuf; } -void Database::ClearGroupLeader(uint32 gid){ - char errbuf[MYSQL_ERRMSG_SIZE]; - char *query = 0; - if(gid == 0) { //clear all group leaders - if (!RunQuery(query, MakeAnyLenString(&query, "DELETE from group_leaders"), errbuf)) - printf("Unable to clear group leaders: %s\n",errbuf); - } else { //clear a specific group leader - if (!RunQuery(query, MakeAnyLenString(&query, "DELETE from group_leaders where gid = %lu", (unsigned long)gid), errbuf)) - printf("Unable to clear group leader: %s\n",errbuf); +void Database::ClearGroupLeader(uint32 gid) { + char *query = nullptr; + + if(gid == 0) + { + //clear all group leaders + auto results = QueryDatabase(query, MakeAnyLenString(&query, "DELETE from group_leaders")); + safe_delete_array(query); + + if (!results.Success()) + std::cout << "Unable to clear group leaders: " << results.ErrorMessage() << std::endl; + + return; } + + auto results = QueryDatabase(query, MakeAnyLenString(&query, "DELETE from group_leaders where gid = %lu", (unsigned long)gid)); safe_delete_array(query); + + if (!results.Success()) + std::cout << "Unable to clear group leader: " << results.ErrorMessage() << std::endl; } bool FetchRowMap(MYSQL_RES *result, std::map &rowmap)