diff --git a/common/database.cpp b/common/database.cpp index 809b3c2f9..536e781d5 100644 --- a/common/database.cpp +++ b/common/database.cpp @@ -2018,16 +2018,29 @@ void Database::ClearAllRaids(void) std::cout << "Unable to clear raids: " << results.ErrorMessage() << std::endl; } +void Database::ClearAllRaidDetails(void) +{ + char *query = nullptr; + + if (!RunQuery(query, MakeAnyLenString(&query, "delete from raid_details"), errbuf)) + printf("Unable to clear raid details: %s\n",errbuf); + safe_delete_array(query); + return; +} + void Database::ClearRaidDetails(uint32 rid) { - char errbuf[MYSQL_ERRMSG_SIZE]; - char *query = 0; - if(rid == 0) { //clear all raids - if (!RunQuery(query, MakeAnyLenString(&query, "delete from raid_details"), errbuf)) - printf("Unable to clear raid details: %s\n",errbuf); - } else { //clear a specific group - if (!RunQuery(query, MakeAnyLenString(&query, "delete from raid_details where raidid = %lu", (unsigned long)rid), errbuf)) - printf("Unable to clear raid details: %s\n",errbuf); - } + char *query = nullptr; + + if(rid == 0) + { + //clear all raids + ClearAllRaidDetails(); + return; + } + + //clear a specific group + if (!RunQuery(query, MakeAnyLenString(&query, "delete from raid_details where raidid = %lu", (unsigned long)rid), errbuf)) + printf("Unable to clear raid details: %s\n",errbuf); safe_delete_array(query); } diff --git a/common/database.h b/common/database.h index ebcbc4439..c7adc7666 100644 --- a/common/database.h +++ b/common/database.h @@ -276,6 +276,7 @@ private: * Raid, utility methods. */ void ClearAllRaids(); + void ClearAllRaidDetails(); }; bool FetchRowMap(MYSQL_RES *result, std::map &rowmap);