CheckGuildDoor converted to QueryDatabase

This commit is contained in:
Arthur Ice 2014-09-03 19:07:49 -07:00
parent 891952eb79
commit 8e529105cf

View File

@ -417,38 +417,21 @@ void Client::GuildChangeRank(const char* name, uint32 guild_id, uint32 oldrank,
}*/ }*/
bool ZoneDatabase::CheckGuildDoor(uint8 doorid,uint16 guild_id,const char* zone) { bool ZoneDatabase::CheckGuildDoor(uint8 doorid, uint16 guild_id, const char* zone) {
MYSQL_ROW row;
char errbuf[MYSQL_ERRMSG_SIZE]; std::string query = StringFormat("SELECT guild FROM doors WHERE doorid = %i AND zone = '%s'",
char *query = 0; doorid-128, zone);
MYSQL_RES *result; auto results = QueryDatabase(query);
if (!RunQuery(query, MakeAnyLenString(&query, if (!results.Success()) {
"SELECT guild FROM doors where doorid=%i AND zone='%s'", LogFile->write(EQEMuLog::Error, "Error in CheckGuildDoor query '%s': %s", query.c_str(), results.ErrorMessage().c_str());
doorid-128, zone), errbuf, &result))
{
LogFile->write(EQEMuLog::Error, "Error in CheckGuildDoor query '%s': %s", query, errbuf);
safe_delete_array(query);
return false;
} else {
if (mysql_num_rows(result) == 1) {
row = mysql_fetch_row(result);
if (atoi(row[0]) == guild_id)
{
mysql_free_result(result);
return true;
}
else
{
mysql_free_result(result);
return false; return false;
} }
// code below will never be reached if (results.RowCount() != 1)
mysql_free_result(result);
return false;
}
}
return false; return false;
auto row = results.begin();
return atoi(row[0]) == guild_id;
} }
bool ZoneDatabase::SetGuildDoor(uint8 doorid,uint16 guild_id, const char* zone) { bool ZoneDatabase::SetGuildDoor(uint8 doorid,uint16 guild_id, const char* zone) {