void ChatChannel::SetPassword(std::string inPassword) { Password = inPassword; if(Permanent) { RemoveApostrophes(Password); database.SetChannelPassword(Name, Password); } }
int Database::FindCharacter(const char *CharacterName) { char errbuf[MYSQL_ERRMSG_SIZE]; char* query = 0; MYSQL_RES *result; MYSQL_ROW row; char *SafeCharName = RemoveApostrophes(CharacterName); if (!RunQuery(query,MakeAnyLenString(&query, "select `id` from `character_` where `name`='%s' limit 1", SafeCharName),errbuf,&result)){ _log(UCS__ERROR, "FindCharacter failed. %s %s", query, errbuf); safe_delete_array(query); safe_delete_array(SafeCharName); return -1; } safe_delete_array(query); safe_delete_array(SafeCharName); if (mysql_num_rows(result) != 1) { _log(UCS__ERROR, "Bad result from FindCharacter query for character %s", CharacterName); mysql_free_result(result); return -1; } row = mysql_fetch_row(result); int CharacterID = atoi(row[0]); mysql_free_result(result); return CharacterID; }
int Database::FindCharacter(const char *characterName) { char *safeCharName = RemoveApostrophes(characterName); std::string query = StringFormat("SELECT `id` FROM `character_` WHERE `name`='%s' LIMIT 1", safeCharName); auto results = QueryDatabase(query); if (!results.Success()) { _log(UCS__ERROR, "FindCharacter failed. %s %s", query.c_str(), results.ErrorMessage().c_str()); safe_delete(safeCharName); return -1; } safe_delete(safeCharName); if (results.RowCount() != 1) { _log(UCS__ERROR, "Bad result from FindCharacter query for character %s", characterName); return -1; } auto row = results.begin(); int characterID = atoi(row[0]); return characterID; }