BEGIN {
slpos=index(ARGV[1],"/")
- if (slpos == 0) {
- ipaddr=ip2int(ARGV[1])
- dotpos=index(ARGV[2],".")
- if (dotpos == 0)
- netmask=compl32(2**(32-int(ARGV[2]))-1)
- else
- netmask=ip2int(ARGV[2])
- } else {
- ipaddr=ip2int(substr(ARGV[1],0,slpos-1))
- netmask=compl32(2**(32-int(substr(ARGV[1],slpos+1)))-1)
+ if (slpos != 0) {
+ # rearrange arguments to not use compound notation
ARGV[4]=ARGV[3]
ARGV[3]=ARGV[2]
+ ARGV[2]=substr(ARGV[1],slpos+1)
+ ARGV[1]=substr(ARGV[1],0,slpos-1)
}
+ ipaddr=ip2int(ARGV[1])
+ dotpos=index(ARGV[2],".")
+ if (dotpos == 0)
+ netmask=compl32(2**(32-int(ARGV[2]))-1)
+ else
+ netmask=ip2int(ARGV[2])
network=and(ipaddr,netmask)
prefix=32-bitcount(compl32(netmask))