ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/Utilities/urlhandler.pm
(Generate patch)

Comparing COMP/SCRAM/src/Utilities/urlhandler.pm (file contents):
Revision 1.5.2.1 by williamc, Wed May 5 14:00:24 1999 UTC vs.
Revision 1.5.2.2 by williamc, Mon Oct 18 06:51:32 1999 UTC

# Line 45 | Line 45 | sub label {
45          my $filename=shift;
46          my $returnval="";
47  
48 <        open ( LOOKUP, "$ENV{SCRAM_LOOKUPDB}" )
49 <           || die "urlhandler: Unable to open DataBase $ENV{SCRAM_LOOKUPDB} $!";
50 <        while ( <LOOKUP> ) {
51 <          next if /^#/;
52 <          if ( $_=~s/^$label\:// ) {
53 <                $returnval = urlhandler($_,$filename);
54 <          }
55 <        }
56 <        close LOOKUP;
48 >        $returnval=labelsort($label, $ENV{SCRAM_LOOKUPDB}, $filename);
49          if ( $returnval ne "" ) {
50 <          return $returnval;
50 >                return $returnval;
51          }
52          ($proj,$ver)=split /:/, $label;
53          print "Error : Unknown project name or version (".$proj." ".$ver.")\n";
54          exit 1;
55 + }      
56 +
57 + sub labelsort {
58 +        my $label=shift;
59 +        my $filename=shift;
60 +        my $fileoutname=shift;
61 +        my $returnval="";
62 +
63 +        use FileHandle;
64 +        my $fh=FileHandle->new();
65 +        open ( $fh, $filename )
66 +           || die "urlhandler: Unable to open DataBase $ENV{SCRAM_LOOKUPDB} $!";
67 +        while ( <$fh> ) {
68 +          next if /^#/;
69 +          if ( $_=~/\!DB (.*)/ ) {
70 +                my $db=$1;
71 +                if ( -f $db ) {
72 +                  $returnval=labelsort($label,$db, $fileoutname);
73 +                  last if ($returnval ne "");
74 +                }
75 +          }
76 +          if ( $_=~s/^$label\:// ) {
77 +                $returnval = urlhandler($_,$fileoutname);
78 +          }
79 +        }
80 +        close $fh;
81 +        return $returnval;
82   }
83  
84   sub file {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines