Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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;
- }
Advertisement