Diff for /rat/lonuserstate.pm between versions 1.107 and 1.107.2.3

version 1.107, 2006/03/03 22:32:49 version 1.107.2.3, 2006/05/12 15:28:50
Line 413  sub accinit { Line 413  sub accinit {
     foreach my $key (keys(%hash)) {      foreach my $key (keys(%hash)) {
  if ($key=~/^conditions/) {   if ($key=~/^conditions/) {
     my $expr=$hash{$key};      my $expr=$hash{$key};
       # try to find and factor out common sub-expressions
     foreach my $sub ($expr=~m/(\(\([_\.\d]+(?:\&[_\.\d]+)+\)(?:\|\([_\.\d]+(?:\&[_\.\d]+)+\))+\))/g) {      foreach my $sub ($expr=~m/(\(\([_\.\d]+(?:\&[_\.\d]+)+\)(?:\|\([_\.\d]+(?:\&[_\.\d]+)+\))+\))/g) {
  my $orig=$sub;   my $orig=$sub;
  $sub=~/\(\(([_\.\d]+\&(:?[_\.\d]+\&)*)(?:[_\.\d]+\&*)+\)(?:\|\(\1(?:[_\.\d]+\&*)+\))+\)/;  
  my $factor=$1;   my ($factor) = ($sub=~/\(\(([_\.\d]+\&(:?[_\.\d]+\&)*)(?:[_\.\d]+\&*)+\)(?:\|\(\1(?:[_\.\d]+\&*)+\))+\)/);
  $sub=~s/$factor//g;   next if (!defined($factor));
   
    $sub=~s/\Q$factor\E//g;
  $sub=~s/^\(/\($factor\(/;   $sub=~s/^\(/\($factor\(/;
  $sub.=')';   $sub.=')';
  $sub=simplify($sub);   $sub=simplify($sub);
  $orig=~s/(\W)/\\$1/g;   $expr=~s/\Q$orig\E/$sub/;
  $expr=~s/$orig/$sub/;  
     }      }
     $hash{$key}=$expr;      $hash{$key}=$expr;
     unless (defined($captured{$expr})) {      unless (defined($captured{$expr})) {
Line 590  sub readmap { Line 592  sub readmap {
  }   }
 # ------------------------------------------------------- Put versions into src  # ------------------------------------------------------- Put versions into src
  foreach my $key (keys(%hash)) {   foreach my $key (keys(%hash)) {
     if ($key=~/^src\_/) {      if ($key=~/^src_/) {
  $hash{$key}=&putinversion($hash{$key});   $hash{$key}=&putinversion($hash{$key});
       } elsif ($key =~ /^(map_(?:start|finish|pc)_)(.*)/) {
    my ($type, $url) = ($1,$2);
    my $value = $hash{$key};
    $hash{$type.&putinversion($url)}=$value;
     }      }
  }   }
 # ---------------------------------------------------------------- Encrypt URLs  # ---------------------------------------------------------------- Encrypt URLs

Removed from v.1.107  
changed lines
  Added in v.1.107.2.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>