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); |