-################# old cruft which is not ported from php to perl
-
-=begin php
-
- # Load the dictionary from the $db.L0x files.
- # Not usefull Yet
-
- sub LoadDictionary()
- {
- $fileL01=fopen($self->{isisdb}.".L01","r");
- rewind($fileL01);
-
- do
- {
-
- $POS=$self->Read32($fileL01);
- $OCK=$self->Read16($fileL01);
- $IT=$self->Read16($fileL01);
- $PS=$self->Read32($fileL01);
-print "<br>PS:".$PS." ".$self->{ORDF}->{1}." ";
- for ($i=0;$i<$OCK;$i++)
- {
- $KEY=fread($fileL01,10);
-
- print $KEY." ### ";
-
- $INFO1=$self->Read32($fileL01);
- $INFO2=$self->Read32($fileL01);
-
- #L01Key->{$key}=array($INFO1,$INFO2);
- }
-
- rewind($fileL01);
- $offset=($PS-1)*(12+$self->{ORDF}->{1}*18*2);
- fseek($fileL01,$offset);
-
- } While (!feof($fileL01));
-
- fclose($fileL01);
- }
-
- # self function search through the tree and returns an array of pointers to IFP
- # The function must be recursive
-
- sub SearchTree($search,$fileNB,$PUNT)
- {
- $offset=(($PUNT-1)*(8+2*$self->{ORDN}->{1}*14));
-
- rewind($fileNB1);
-
- fseek($fileNB,$offset);
-
- $POS=$self->Read32($fileNB);
- $OCK=$self->Read16($fileNB);
- $IT=$self->Read16($fileNB);
-
-#print "<br>".$POS." - ".$OCK." - ".$IT;
-
- $OLDPUNT=$POS;
- $j=0;
- for ($i=0;$i<$OCK;$i++)
- {
- $KEY=fread($fileNB,10);
-
- $PUNT=$self->Read32($fileNB);
-
-#print " ## ".chop($KEY)."(".$PUNT."-".$OLDPUNT.") ## ";
-
- If (strcmp($search,chop($KEY))<0)
- {
- break;
- }
- $OLDPUNT=$PUNT;
- }
-#print $OLDPUNT;
- Return $OLDPUNT;
- }
-
- # Search ISIS for record containing search
- # Return a sorted array of MFN
-
- sub Search($search)
- {
-
- $search=strtoupper($search);
-#print "Searching....".$search." - ".$self->{POSRX}->{1}."<br>";
- # first search .x01
-
-
- # Search in .N01
-
-
- $fileN01=fopen($self->{isisdb}.".N01","r");
- $offset=(($self->{POSRX}->{1}-1)*(8+2*$self->{ORDN}->{1}*14));
-
- do
- {
- rewind($fileN01);
-
- fseek($fileN01,$offset);
-
- $POS=$self->Read32($fileN01);
- $OCK=$self->Read16($fileN01);
- $IT=$self->Read16($fileN01);
-
-#print "<br>".$POS." - ".$OCK." - ".$IT;
-
- $OLDPUNT=$POS;
- for ($i=0;$i<$OCK;$i++)
- {
- $KEY=fread($fileN01,10);
-
- $PUNT=$self->Read32($fileN01);
-
-#print " ## ".chop($KEY)."(".$PUNT."-".$OLDPUNT.") ## ";
-
- If (strcmp($search,chop($KEY))<0)
- {
- break;
- }
- $OLDPUNT=$PUNT;
- }
- $offset=(($OLDPUNT-1)*(8+2*$self->{ORDN}->{1}*14));
- } while ($OLDPUNT>0);
-#print $OLDPUNT;
-
-
- fclose($fileN01);
-
- # Now look for records in .L01 file
- $fileL01=fopen($self->{isisdb}.".L01","r");
- rewind($fileL01);
-
- $offset=(-$OLDPUNT-1)*(12+$self->{ORDF}->{1}*18*2);
- fseek($fileL01,$offset);
-
- $POS=$self->Read32($fileL01);
- $OCK=$self->Read16($fileL01);
- $IT=$self->Read16($fileL01);
- $PS=$self->Read32($fileL01);
-#print "<br>POS:".$POS." ".$self->{ORDF}->{1}." ";
- for ($i=0;$i<$OCK;$i++)
- {
- $KEY=fread($fileL01,10);
-
-#print $KEY." ### ";
-
- $INFO1=$self->Read32($fileL01);
- $INFO2=$self->Read32($fileL01);
-
- If (strcmp($search,chop($KEY))==0)
- {
- break;
- }
- }
-
- fclose($fileL01);
-
-#print $INFO1."--".$INFO2;
-
- # Now look in .IFP for the MFN
- $fileIFP=fopen($self->{isisdb}.".IFP","r");
- rewind($fileIFP);
- $offset=($INFO1-1)*512+($INFO2*4);
- fseek($fileIFP,$offset);
-
- $IFPBLK=$self->Read32($fileIFP);
-
- $IFPNXTB=$self->Read32($fileIFP);
- $IFPNXTP=$self->Read32($fileIFP);
- $IFPTOTP=$self->Read32($fileIFP);
- $IFPSEGP=$self->Read32($fileIFP);
- $IFPSEGC=$self->Read32($fileIFP);
-
-
-#print "<br>IFP:".$IFPBLK." # ".$IFPNXTB." - ".$IFPNXTP." - ".$IFPTOTP." - ".$IFPSEGP." - ".$IFPSEGC;
-
- rewind($fileIFP);
- $offset=($INFO1-1)*512+24+($INFO2*4);
- fseek($fileIFP,$offset);
-
- $j=24+($INFO2*4);
- $k=0;
- $l=1;
- $OLDPMFN="";
- for ($i=0;$i<$IFPSEGP;$i++)
- {
- $B1=$self->Read8($fileIFP);
- $B2=$self->Read8($fileIFP);
- $B3=$self->Read8($fileIFP);
- $B4=$self->Read8($fileIFP);
- $B5=$self->Read8($fileIFP);
- $B6=$self->Read8($fileIFP);
- $B7=$self->Read8($fileIFP);
- $B8=$self->Read8($fileIFP);
-
- $PMFN=$B1*65536+$B2*256+$B3;
- $PTAG=$B4*256+$B5;
- $POCC=$B6;
- $PCNT=$B7*256+$B8;
-
- if ($OLDPMFN!=$PMFN)
- {
- if ($PMFN!=0)
- {
- $self->{MFNArray}->{$l}=$PMFN;
- $OLDPMFN=$PMFN;
- $l+=1;
- }
- }
-
- $j=$j+8;
-#print "<br>".$PMFN."-".$PTAG." - ".$POCC." - ".$PCNT;
-#print "@@".$j."@@@@";
- if ($j>=504)
- {
- if ($IFPNXTB==0 && $IFPNXTP==0)
- {
- $k=$k+1;
- rewind($fileIFP);
- $offset=($INFO1-1+$k)*512;
- fseek($fileIFP,$offset);
- $B=$self->Read32($fileIFP);
-#print "<br>-".$B."-<br>";
- $j=0;
- } else
- {
- rewind($fileIFP);
- $offset=($IFPNXTB-1)*512;
- fseek($fileIFP,$offset);
-
- $OLDIFPNXTB=$IFPNXTB;
- $OLDIFPNXTP=$IFPNXTP;
-
- $IFPBLK=$self->Read32($fileIFP);
-
- $IFPNXTB=$self->Read32($fileIFP);
- $IFPNXTP=$self->Read32($fileIFP);
- $IFPTOTP=$self->Read32($fileIFP);
- $IFPSEGP=$self->Read32($fileIFP);
- $IFPSEGC=$self->Read32($fileIFP);
-
- rewind($fileIFP);
- $offset=($OLDIFPNXTB-1)*512+24+($OLDIFPNXTP*4);
- fseek($fileIFP,$offset);
-
- $j=24+($OLDIFPNXTP*4);
- $k=0;
- $j=0;
- }
- }
-
- }
- fclose($fileIFP);
- return $l-1;
- }
-
-=cut
-