Diff for /doc/help/rebuildLabelHash.pl between versions 1.4 and 1.7

version 1.4, 2002/08/20 02:43:38 version 1.7, 2007/08/07 21:02:58
Line 33  use File::Spec; Line 33  use File::Spec;
   
 # I had to chdir, because neither glob nor bsd_glob accept globs  # I had to chdir, because neither glob nor bsd_glob accept globs
 # with ".." in them... sucky.  # with ".." in them... sucky.
 chdir "../../loncom/html/adm/help/";  chdir("../../loncom/html/adm/help/");
   
 # if the topic hash exists, kill it  # if the topic hash exists, kill it
 unlink 'fragmentLabels.gdbm' if ( -e 'fragmentLabels.gdbm' );  unlink('fragmentLabels.gdbm') if ( -e 'fragmentLabels.gdbm' );
 print "Wiped old fragmentLabels.gdbm.\n";  print("Wiped old fragmentLabels.gdbm.\n");
   
 tie (my %fragmentLabels, 'GDBM_File', 'fragmentLabels.gdbm', 1, 0660);  tie (my %fragmentLabels, 'GDBM_File', 'fragmentLabels.gdbm', &GDBM_WRCREAT(), 0660);
 my $error = 0;  my $error = 0;
   
 chdir "tex";  chdir("tex");
   
 foreach my $file ( glob("*.tex") )   foreach my $file ( glob("*.tex") ) {
 {      open(F, $file);
     open F, $file;      if ( index($file, "/") != "/" ) {
     if ( index($file, "/") != "/" )  
     {  
  $file = substr($file, index($file, "/") + 1);   $file = substr($file, index($file, "/") + 1);
     }       } 
     my $contents = join("\n", <F>);      my $contents = join("\n", <F>);
     my $label;      my $label;
       
       my $found=0;
       my $found_me=0;
     # Search for labels, of the form '\label{labelname}'      # Search for labels, of the form '\label{labelname}'
     foreach $label ( $contents =~ /\\label\{([^}]*)\}/g )      foreach $label ( $contents =~ /\\label\{([^\}]*)\}/g ) {
     {   $found = 1;
  if (exists $fragmentLabels{$label} )   if ($file eq "$label.tex") {
  {      $found_me = 1;
     print "***ERROR: '$label' in both $fragmentLabels{$label} " .   }
           "and $file. \n";   if (exists $fragmentLabels{$label} ) {
     $error = 1;      print("***ERROR: '$label' in both $fragmentLabels{$label} " .
     "and $file. \n");
       $error++;
  }   }
  $fragmentLabels{$label} = $file;   $fragmentLabels{$label} = $file;
     }      }
       if (!$found) {
    $error++;
    print("***ERROR: no labels in '$file'. \n");
       }
       if (!$found_me) {
    $error++;
    my ($needed_label) = ($file =~ m/(.*)\.tex/);
    print("***ERROR: no labels for $needed_label in '$file'. \n");
       }
 }  }
   
 if ($error == 0)  if ($error == 0) {
 {      print("There were no duplicate labels. Database rebuilt.\n");
     print "There were no duplicate labels. Database rebuilt.\n";  } else {
 }      print("There were $error errors. You must correct the duplicate labels.\n");
 else      exit(-1);
 {  
     print "There were errors. You must correct the duplicate labels.\n";  
 }  }
   
 untie %fragmentLabels;  untie(%fragmentLabels);

Removed from v.1.4  
changed lines
  Added in v.1.7


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