GetGroupLeadershipInfo converted to QueryDatabase

This commit is contained in:
Arthur Ice 2014-07-08 10:18:35 -07:00 committed by Arthur Ice
parent 2afd05de98
commit 2278ec023f

View File

@ -1862,20 +1862,32 @@ void Database::SetGroupLeaderName(uint32 gid, const char* name) {
}
char *Database::GetGroupLeadershipInfo(uint32 gid, char* leaderbuf, char* maintank, char* assist, char* puller, char *marknpc, GroupLeadershipAA_Struct* GLAA){
char errbuf[MYSQL_ERRMSG_SIZE];
char* query = 0;
MYSQL_RES* result;
MYSQL_ROW row;
if (RunQuery(query, MakeAnyLenString(&query, "SELECT leadername, maintank, assist, puller, marknpc, leadershipaa FROM group_leaders WHERE gid=%lu",(unsigned long)gid),
errbuf, &result)) {
char* query = nullptr;
auto results = QueryDatabase(query, MakeAnyLenString(&query, "SELECT leadername, maintank, assist, puller, marknpc, leadershipaa FROM group_leaders WHERE gid=%lu",(unsigned long)gid));
safe_delete_array(query);
row = mysql_fetch_row(result);
unsigned long* Lengths = mysql_fetch_lengths(result);
if (!results.Success() || results.RowCount() == 0)
{
if(leaderbuf)
strcpy(leaderbuf, "UNKNOWN");
if(row != nullptr){
if(maintank)
maintank[0] = '\0';
if(assist)
assist[0] = '\0';
if(puller)
puller[0] = '\0';
if(marknpc)
marknpc[0] = '\0';
return leaderbuf;
}
auto row = results.begin();
if(leaderbuf)
strcpy(leaderbuf, row[0]);
@ -1892,31 +1904,9 @@ char *Database::GetGroupLeadershipInfo(uint32 gid, char* leaderbuf, char* mainta
if(marknpc)
strcpy(marknpc, row[4]);
if(GLAA && (Lengths[5] == sizeof(GroupLeadershipAA_Struct)))
if(GLAA && results.LengthOfColumn(5) == sizeof(GroupLeadershipAA_Struct))
memcpy(GLAA, row[5], sizeof(GroupLeadershipAA_Struct));
mysql_free_result(result);
return leaderbuf;
}
}
else
safe_delete_array(query);
if(leaderbuf)
strcpy(leaderbuf, "UNKNOWN");
if(maintank)
maintank[0] = 0;
if(assist)
assist[0] = 0;
if(puller)
puller[0] = 0;
if(marknpc)
marknpc[0] = 0;
return leaderbuf;
}