LoadBaseData converted to QueryDatabase

This commit is contained in:
Arthur Ice 2014-10-04 14:19:04 -07:00
parent cecd9b89ba
commit 81b9d9a57e

View File

@ -1626,18 +1626,21 @@ bool SharedDatabase::LoadBaseData() {
void SharedDatabase::LoadBaseData(void *data, int max_level) { void SharedDatabase::LoadBaseData(void *data, int max_level) {
char *base_ptr = reinterpret_cast<char*>(data); char *base_ptr = reinterpret_cast<char*>(data);
char errbuf[MYSQL_ERRMSG_SIZE];
const char *query = "SELECT * FROM base_data ORDER BY level, class ASC";
MYSQL_RES *result;
MYSQL_ROW row;
if(RunQuery(query, strlen(query), errbuf, &result)) { const std::string query = "SELECT * FROM base_data ORDER BY level, class ASC";
auto results = QueryDatabase(query);
if (!results.Success()) {
LogFile->write(EQEMuLog::Error, "Error in LoadBaseData query '%s' %s", query.c_str(), results.ErrorMessage().c_str());
return;
}
int lvl = 0; int lvl = 0;
int cl = 0; int cl = 0;
while (row = mysql_fetch_row(result)) {
for (auto row = results.begin(); row != results.end(); ++row) {
lvl = atoi(row[0]); lvl = atoi(row[0]);
cl = atoi(row[1]); cl = atoi(row[1]);
if(lvl <= 0) { if(lvl <= 0) {
LogFile->write(EQEMuLog::Error, "Non fatal error: base_data.level <= 0, ignoring."); LogFile->write(EQEMuLog::Error, "Non fatal error: base_data.level <= 0, ignoring.");
continue; continue;
@ -1668,11 +1671,7 @@ void SharedDatabase::LoadBaseData(void *data, int max_level) {
bd->mana_factor = atof(row[8]); bd->mana_factor = atof(row[8]);
bd->endurance_factor = atof(row[9]); bd->endurance_factor = atof(row[9]);
} }
mysql_free_result(result);
} else {
LogFile->write(EQEMuLog::Error, "Error in LoadBaseData query '%s' %s", query, errbuf);
safe_delete_array(query);
}
} }
const BaseDataStruct* SharedDatabase::GetBaseData(int lvl, int cl) { const BaseDataStruct* SharedDatabase::GetBaseData(int lvl, int cl) {