static qboolean SV_RemoveBanFromInternalList(char* guid, char* name) { banList_t *this; int i; qboolean succ = qfalse; char* banreason; char* printnick; if(name == NULL) { name = ""; } if(guid == NULL) { guid = ""; } if(guid[0] == 0 && name[0] == 0) { return qfalse; } if(guid[0] && strlen(guid) == 32) { guid += 24; } if(guid[0] && strlen(guid) != 8) { return qfalse; } this = banlist; if(!this) return qfalse; if(!SV_ReloadBanlist()) return qfalse; for(i = 0 ; i < current_banindex; this++, i++) { if(guid[0]) { if(Q_stricmpn(guid, this->guid, 8)) { continue; } }else if(name[0]){ if(Q_stricmp(name, this->playername)) { continue; } }else{ continue; } this->expire = (time_t) 0; Plugin_RemoveBanByip(&this->remote); succ = qtrue; if(!*this->reason){ banreason = "N/A"; }else{ banreason = this->reason; } if(!*this->playername){ printnick = "N/A"; }else{ printnick = this->playername; } Plugin_Printf("Removing ban for Nick: %s, GUID: %s, Banreason: %s\n", printnick, guid, banreason); Plugin_PrintAdministrativeLog("Removing ban for Nick: %s, UID: %s, Banreason: %s\n", printnick, guid, banreason); } if(succ) SV_WriteBanlist(); return succ; }
qboolean SV_RemoveBanFromInternalList(uint64_t playerid, char* name){ banList_t *this; int i; qboolean succ = qfalse; char* banreason; char* printnick; char pid[128]; if(name == NULL) { name = ""; } if(playerid == 0 && name[0] == 0) { return qfalse; } this = banlist; if(!this) return qfalse; if(!SV_ReloadBanlist()) return qfalse; for(i = 0 ; i < current_banindex; this++, i++) { if(playerid) { if(playerid != this->playerid) { continue; } }else if(name[0]){ if(Q_stricmp(name, this->playername)) { continue; } }else{ continue; } this->expire = (time_t) 0; Plugin_RemoveBanByip(&this->remote); succ = qtrue; if(!*this->reason){ banreason = "N/A"; }else{ banreason = this->reason; } if(!*this->playername){ printnick = "N/A"; }else{ printnick = this->playername; } Plugin_SteamIDToString(this->playerid, pid, sizeof(pid)); Plugin_Printf("Removing ban for Nick: %s, PlayerID: %s, Banreason: %s\n", printnick, pid, banreason); Plugin_PrintAdministrativeLog("Removing ban for Nick: %s, PlayerID: %s, Banreason: %s\n", printnick, pid, banreason); } if(succ) SV_WriteBanlist(); return succ; }