mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-20 00:51:28 +00:00
CheckNameFilter converted to QueryDatabase
This commit is contained in:
parent
5c8cd19477
commit
da2673d35e
@ -1256,10 +1256,7 @@ uint8 Database::GetPEQZone(uint32 zoneID, uint32 version){
|
|||||||
bool Database::CheckNameFilter(const char* name, bool surname)
|
bool Database::CheckNameFilter(const char* name, bool surname)
|
||||||
{
|
{
|
||||||
std::string str_name = name;
|
std::string str_name = name;
|
||||||
char errbuf[MYSQL_ERRMSG_SIZE];
|
char *query = nullptr;
|
||||||
char *query = 0;
|
|
||||||
MYSQL_RES *result;
|
|
||||||
MYSQL_ROW row;
|
|
||||||
|
|
||||||
if(surname)
|
if(surname)
|
||||||
{
|
{
|
||||||
@ -1310,29 +1307,26 @@ bool Database::CheckNameFilter(const char* name, bool surname)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (RunQuery(query, MakeAnyLenString(&query, "SELECT name FROM name_filter"), errbuf, &result)) {
|
auto results = QueryDatabase(query, MakeAnyLenString(&query, "SELECT name FROM name_filter"));
|
||||||
|
|
||||||
|
if (!results.Success())
|
||||||
|
{
|
||||||
|
std::cerr << "Error in CheckNameFilter query '" << query << "' " << results.ErrorMessage() << std::endl;
|
||||||
safe_delete_array(query);
|
safe_delete_array(query);
|
||||||
while((row = mysql_fetch_row(result)))
|
// false through to true? shouldn't it be falls through to false?
|
||||||
{
|
|
||||||
std::string current_row = row[0];
|
|
||||||
for(size_t x = 0; x < current_row.size(); ++x)
|
|
||||||
{
|
|
||||||
current_row[x] = tolower(current_row[x]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(str_name.find(current_row) != std::string::npos)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
mysql_free_result(result);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
safe_delete_array(query);
|
||||||
|
|
||||||
|
for (auto row = results.begin();row != results.end();++row)
|
||||||
{
|
{
|
||||||
std::cerr << "Error in CheckNameFilter query '" << query << "' " << errbuf << std::endl;
|
std::string current_row = row[0];
|
||||||
safe_delete_array(query);
|
|
||||||
|
for(size_t x = 0; x < current_row.size(); ++x)
|
||||||
|
current_row[x] = tolower(current_row[x]);
|
||||||
|
|
||||||
|
if(str_name.find(current_row) != std::string::npos)
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user