mirror of
https://github.com/rehlds/rehlds.git
synced 2025-01-01 01:25:38 +03:00
Merge pull request #240 from WPMGPRoSToTeMa/RemoveIdAndListIdFixes
RemoveId and ListId fixes
This commit is contained in:
commit
6e411347bd
@ -6761,11 +6761,15 @@ void SV_RemoveId_f(void)
|
|||||||
}
|
}
|
||||||
slot--;
|
slot--;
|
||||||
|
|
||||||
USERID_t id;
|
USERID_t id = userfilters[slot].userid;
|
||||||
Q_memcpy(&id, &userfilters[slot].userid, sizeof(id));
|
|
||||||
|
|
||||||
|
#ifdef REHLDS_FIXES
|
||||||
|
// memmove must support zero num
|
||||||
|
Q_memmove(&userfilters[slot], &userfilters[slot + 1], (numuserfilters - (slot + 1)) * sizeof(userfilter_t));
|
||||||
|
#else // REHLDS_FIXES
|
||||||
if (slot + 1 < numuserfilters)
|
if (slot + 1 < numuserfilters)
|
||||||
Q_memcpy(&userfilters[slot], &userfilters[slot + 1], (numuserfilters - (slot + 1)) * sizeof(userfilter_t));
|
Q_memcpy(&userfilters[slot], &userfilters[slot + 1], (numuserfilters - (slot + 1)) * sizeof(userfilter_t));
|
||||||
|
#endif // REHLDS_FIXES
|
||||||
|
|
||||||
numuserfilters--;
|
numuserfilters--;
|
||||||
Con_Printf("UserID filter removed for %s, id %s\n", idstring, SV_GetIDString(&id));
|
Con_Printf("UserID filter removed for %s, id %s\n", idstring, SV_GetIDString(&id));
|
||||||
@ -6773,7 +6777,9 @@ void SV_RemoveId_f(void)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
#ifdef REHLDS_FIXES
|
#ifdef REHLDS_FIXES
|
||||||
idstring = SV_GetIDString(SV_StringToUserID(idstring));
|
// Wanna use Mem_Strdup, but it is a heap allocation and need properly free (after Con_Printf and before return, in two places)
|
||||||
|
char _idstring[64]; // TODO: create a constant for 64 magic number
|
||||||
|
idstring = Q_strcpy(_idstring, SV_GetIDString(SV_StringToUserID(idstring)));
|
||||||
#else
|
#else
|
||||||
if (!Q_strnicmp(idstring, "STEAM_", 6) || !Q_strnicmp(idstring, "VALVE_", 6))
|
if (!Q_strnicmp(idstring, "STEAM_", 6) || !Q_strnicmp(idstring, "VALVE_", 6))
|
||||||
{
|
{
|
||||||
@ -6786,8 +6792,13 @@ void SV_RemoveId_f(void)
|
|||||||
{
|
{
|
||||||
if (!Q_stricmp(SV_GetIDString(&userfilters[i].userid), idstring))
|
if (!Q_stricmp(SV_GetIDString(&userfilters[i].userid), idstring))
|
||||||
{
|
{
|
||||||
|
#ifdef REHLDS_FIXES
|
||||||
|
// memmove must support zero num
|
||||||
|
Q_memmove(&userfilters[i], &userfilters[i + 1], (numuserfilters - (i + 1)) * sizeof(userfilter_t));
|
||||||
|
#else // REHLDS_FIXES
|
||||||
if (i + 1 < numuserfilters)
|
if (i + 1 < numuserfilters)
|
||||||
Q_memmove(&userfilters[i], &userfilters[i + 1], (numuserfilters - (i + 1)) * sizeof(userfilter_t));
|
Q_memcpy(&userfilters[i], &userfilters[i + 1], (numuserfilters - (i + 1)) * sizeof(userfilter_t));
|
||||||
|
#endif // REHLDS_FIXES
|
||||||
|
|
||||||
numuserfilters--;
|
numuserfilters--;
|
||||||
Con_Printf("UserID filter removed for %s\n", idstring);
|
Con_Printf("UserID filter removed for %s\n", idstring);
|
||||||
@ -6838,11 +6849,11 @@ void SV_ListId_f(void)
|
|||||||
{
|
{
|
||||||
if (userfilters[i].banTime == 0.0f)
|
if (userfilters[i].banTime == 0.0f)
|
||||||
{
|
{
|
||||||
Con_Printf("%i %s : permanent\n", i, SV_GetIDString(&userfilters[i].userid));
|
Con_Printf("%i %s : permanent\n", i+1, SV_GetIDString(&userfilters[i].userid));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Con_Printf("%i %s : %.3f min\n", i, SV_GetIDString(&userfilters[i].userid), userfilters[i].banTime);
|
Con_Printf("%i %s : %.3f min\n", i+1, SV_GetIDString(&userfilters[i].userid), userfilters[i].banTime);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user