LoadTraderItem converted to QueryDatabase

This commit is contained in:
Arthur Ice 2014-08-20 18:16:05 -07:00
parent 09713311f6
commit e9c6e96452

View File

@ -549,30 +549,27 @@ void ZoneDatabase::DeleteWorldContainer(uint32 parent_id, uint32 zone_id)
} }
Trader_Struct* ZoneDatabase::LoadTraderItem(uint32 char_id){ Trader_Struct* ZoneDatabase::LoadTraderItem(uint32 char_id){
char errbuf[MYSQL_ERRMSG_SIZE];
char* query = 0;
MYSQL_RES *result;
MYSQL_ROW row;
Trader_Struct* loadti = new Trader_Struct; Trader_Struct* loadti = new Trader_Struct;
memset(loadti,0,sizeof(Trader_Struct)); memset(loadti,0,sizeof(Trader_Struct));
if (RunQuery(query,MakeAnyLenString(&query, "select * from trader where char_id=%i order by slot_id limit 80",char_id),errbuf,&result)){
safe_delete_array(query); std::string query = StringFormat("SELECT * FROM trader WHERE char_id = %i ORDER BY slot_id LIMIT 80", char_id);
loadti->Code = BazaarTrader_ShowItems; auto results = QueryDatabase(query);
while ((row = mysql_fetch_row(result))) { if (!results.Success()) {
if(atoi(row[5])>=80 || atoi(row[4])<0) _log(TRADING__CLIENT, "Failed to load trader information!\n");
_log(TRADING__CLIENT, "Bad Slot number when trying to load trader information!\n"); return loadti;
else{
loadti->Items[atoi(row[5])] = atoi(row[1]);
loadti->ItemCost[atoi(row[5])] = atoi(row[4]);
}
}
mysql_free_result(result);
} }
else{
safe_delete_array(query); loadti->Code = BazaarTrader_ShowItems;
_log(TRADING__CLIENT, "Failed to load trader information!\n"); for (auto row = results.begin(); row != results.end(); ++row) {
} if(atoi(row[5])>=80 || atoi(row[4])<0) {
return loadti; _log(TRADING__CLIENT, "Bad Slot number when trying to load trader information!\n");
continue;
}
loadti->Items[atoi(row[5])] = atoi(row[1]);
loadti->ItemCost[atoi(row[5])] = atoi(row[4]);
}
} }
TraderCharges_Struct* ZoneDatabase::LoadTraderItemWithCharges(uint32 char_id){ TraderCharges_Struct* ZoneDatabase::LoadTraderItemWithCharges(uint32 char_id){