GIF87a;
# NOTE: Derived from blib/lib/NetAddr/IP.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package NetAddr::IP; #line 1191 "blib/lib/NetAddr/IP.pm (autosplit into blib/lib/auto/NetAddr/IP/compactref.al)" sub compactref($) { # my @r = sort { NetAddr::IP::Lite::comp_addr_mask($a,$b) } @{$_[0]} # use overload 'cmp' function # or return []; # return [] unless @r; my @r; { my $unr = []; my $args = $_[0]; if (ref $_[0] eq __PACKAGE__ and ref $_[1] eq 'ARRAY') { # ->compactref(\@list) # $unr = [$_[0], @{$_[1]}]; # keeping structures intact } else { # Compact(@list) or ->compact(@list) or Compact(\@list) # $unr = $args; } return [] unless @$unr; foreach(@$unr) { $_->{addr} = $_->network->{addr}; } @r = sort @$unr; } my $changed; do { $changed = 0; for(my $i=0; $i <= $#r -1;$i++) { if ($r[$i]->contains($r[$i +1])) { splice(@r,$i +1,1); ++$changed; --$i; } elsif ((notcontiguous($r[$i]->{mask}))[1] == (notcontiguous($r[$i +1]->{mask}))[1]) { # masks the same if (hasbits($r[$i]->{addr} ^ $r[$i +1]->{addr})) { # if not the same netblock my $upnet = $r[$i]->copy; $upnet->{mask} = shiftleft($upnet->{mask},1); if ($upnet->contains($r[$i +1])) { # adjacent nets in next net up $r[$i] = $upnet; splice(@r,$i +1,1); ++$changed; --$i; } } else { # identical nets splice(@r,$i +1,1); ++$changed; --$i; } } } } while $changed; return \@r; } # end of NetAddr::IP::compactref 1;
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
InetBase | Folder | 0755 |
|
|
Util | Folder | 0755 |
|
|
UtilPP | Folder | 0755 |
|
|
.packlist | File | 3.61 KB | 0644 |
|
_compV6.al | File | 1 KB | 0444 |
|
_compact_v6.al | File | 1.01 KB | 0444 |
|
_splitplan.al | File | 2.91 KB | 0444 |
|
_splitref.al | File | 936 B | 0444 |
|
autosplit.ix | File | 388 B | 0444 |
|
canon.al | File | 362 B | 0444 |
|
coalesce.al | File | 1.35 KB | 0444 |
|
compactref.al | File | 1.67 KB | 0444 |
|
do_prefix.al | File | 891 B | 0444 |
|
hostenum.al | File | 329 B | 0444 |
|
mod_version.al | File | 427 B | 0444 |
|
nprefix.al | File | 603 B | 0444 |
|
prefix.al | File | 605 B | 0444 |
|
re.al | File | 1.4 KB | 0444 |
|
re6.al | File | 1.83 KB | 0444 |
|
short.al | File | 500 B | 0444 |
|
wildcard.al | File | 485 B | 0444 |
|