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,60 +1862,50 @@ 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 *Database::GetGroupLeadershipInfo(uint32 gid, char* leaderbuf, char* maintank, char* assist, char* puller, char *marknpc, GroupLeadershipAA_Struct* GLAA){
char errbuf[MYSQL_ERRMSG_SIZE]; char* query = nullptr;
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), auto results = QueryDatabase(query, MakeAnyLenString(&query, "SELECT leadername, maintank, assist, puller, marknpc, leadershipaa FROM group_leaders WHERE gid=%lu",(unsigned long)gid));
errbuf, &result)) { safe_delete_array(query);
safe_delete_array(query); if (!results.Success() || results.RowCount() == 0)
{
if(leaderbuf)
strcpy(leaderbuf, "UNKNOWN");
row = mysql_fetch_row(result); if(maintank)
unsigned long* Lengths = mysql_fetch_lengths(result); maintank[0] = '\0';
if(row != nullptr){ if(assist)
assist[0] = '\0';
if(leaderbuf) if(puller)
strcpy(leaderbuf, row[0]); puller[0] = '\0';
if(maintank) if(marknpc)
strcpy(maintank, row[1]); marknpc[0] = '\0';
if(assist) return leaderbuf;
strcpy(assist, row[2]);
if(puller)
strcpy(puller, row[3]);
if(marknpc)
strcpy(marknpc, row[4]);
if(GLAA && (Lengths[5] == sizeof(GroupLeadershipAA_Struct)))
memcpy(GLAA, row[5], sizeof(GroupLeadershipAA_Struct));
mysql_free_result(result);
return leaderbuf;
}
} }
else
safe_delete_array(query); auto row = results.begin();
if(leaderbuf) if(leaderbuf)
strcpy(leaderbuf, "UNKNOWN"); strcpy(leaderbuf, row[0]);
if(maintank) if(maintank)
maintank[0] = 0; strcpy(maintank, row[1]);
if(assist) if(assist)
assist[0] = 0; strcpy(assist, row[2]);
if(puller) if(puller)
puller[0] = 0; strcpy(puller, row[3]);
if(marknpc) if(marknpc)
marknpc[0] = 0; strcpy(marknpc, row[4]);
if(GLAA && results.LengthOfColumn(5) == sizeof(GroupLeadershipAA_Struct))
memcpy(GLAA, row[5], sizeof(GroupLeadershipAA_Struct));
return leaderbuf; return leaderbuf;
} }