stock void ParseCIDR(const char[] sCIDR, int &iStart, int &iEnd) { char Pieces[2][32]; ExplodeString(sCIDR, "/", Pieces, sizeof Pieces, sizeof Pieces[]); int baseip = NetAddr2Long(Pieces[0]); int prefix = StringToInt(Pieces[1]); if(prefix == 0) { LogError("CIDR prefix 0, clamping to 32. %s", sCIDR); prefix = 32; } int shift = 32 - prefix; int mask = (1 << shift) - 1; int start = baseip >> shift << shift; int end = start | mask; iStart = start; iEnd = end; }