Dre4m Shell
Server IP : 85.214.239.14  /  Your IP : 18.191.171.10
Web Server : Apache/2.4.62 (Debian)
System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.18
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /proc/3/cwd/lib/x86_64-linux-gnu/perl5/5.36/auto/NetAddr/IP/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /proc/3/cwd/lib/x86_64-linux-gnu/perl5/5.36/auto/NetAddr/IP//compactref.al
# 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;

Anon7 - 2022
AnonSec Team