From 96f122f9018beb78d08037f83e07dee16cc96416 Mon Sep 17 00:00:00 2001 From: Arthur Ice Date: Wed, 20 Aug 2014 17:31:16 -0700 Subject: [PATCH] logevents converted to QueryDatabase --- zone/zonedb.cpp | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/zone/zonedb.cpp b/zone/zonedb.cpp index bcf67b5f5..2b15560b1 100644 --- a/zone/zonedb.cpp +++ b/zone/zonedb.cpp @@ -259,8 +259,7 @@ void ZoneDatabase::UpdateSpawn2Status(uint32 id, uint8 new_status) } bool ZoneDatabase::logevents(const char* accountname,uint32 accountid,uint8 status,const char* charname, const char* target,const char* descriptiontype, const char* description,int event_nid){ - char errbuf[MYSQL_ERRMSG_SIZE]; - char *query = 0; + uint32 len = strlen(description); uint32 len2 = strlen(target); char* descriptiontext = new char[2*len+1]; @@ -269,14 +268,20 @@ bool ZoneDatabase::logevents(const char* accountname,uint32 accountid,uint8 stat memset(targetarr, 0, 2*len2+1); DoEscapeString(descriptiontext, description, len); DoEscapeString(targetarr, target, len2); - if (!RunQuery(query, MakeAnyLenString(&query, "Insert into eventlog (accountname,accountid,status,charname,target,descriptiontype,description,event_nid) values('%s',%i,%i,'%s','%s','%s','%s','%i')", accountname,accountid,status,charname,targetarr,descriptiontype,descriptiontext,event_nid), errbuf)) { - std::cerr << "Error in logevents" << query << "' " << errbuf << std::endl; - safe_delete_array(query); + + std::string query = StringFormat("INSERT INTO eventlog (accountname, accountid, status, " + "charname, target, descriptiontype, description, event_nid) " + "VALUES('%s', %i, %i, '%s', '%s', '%s', '%s', '%i')", + accountname, accountid, status, charname, targetarr, + descriptiontype, descriptiontext, event_nid); + safe_delete_array(descriptiontext); + safe_delete_array(targetarr); + auto results = QueryDatabase(query); + if (!results.Success()) { + std::cerr << "Error in logevents" << query << "' " << results.ErrorMessage() << std::endl; return false; } - safe_delete_array(query); - safe_delete_array(descriptiontext); - safe_delete_array(targetarr); + return true; }