summaryrefslogtreecommitdiff
path: root/update-xfonts-traditional
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2012-01-25 21:51:03 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2012-01-25 23:04:37 +0000
commit1987c934200d2f253320fc7b2c1c05827c9bc9cd (patch)
treec65be6c4a6ec46f42851dd9fbd013a92b6d1feb7 /update-xfonts-traditional
parentbd7891126edbe8500e813f10a78082b27156faef (diff)
tolerate pcf2bdf crashing
Diffstat (limited to 'update-xfonts-traditional')
-rwxr-xr-xupdate-xfonts-traditional11
1 files changed, 11 insertions, 0 deletions
diff --git a/update-xfonts-traditional b/update-xfonts-traditional
index 2e8c0d7..63e9040 100755
--- a/update-xfonts-traditional
+++ b/update-xfonts-traditional
@@ -23,6 +23,7 @@ our $verbose=0;
our $reportfh;
our $foundryinfo;
our %props;
+our $tolerate_bad_fonts=1;
our $wanted_parallel;
sub reportloaded {
@@ -259,6 +260,15 @@ sub processpcfgz ($$$$) {
return !$st || $ch->{SigOK}{($st & ~128)};
};
+ if ($tolerate_bad_fonts &&
+ $r eq 'no bdf data' &&
+ $st_isok->($ch{'gunzip'}) &&
+ ($ch{'pcf2bdf'}{St} & ~128) == 6)
+ {
+ $r = "pcf2bdf failed ($ch{'pcf2bdf'}{St})";
+ print STDERR "warning: $r: skipping $inpcfgz\n";
+ $ch{'pcf2bdf'}{SigOK}{6} = 1;
+ }
foreach my $ch (@children) {
if (!$st_isok->($ch)) {
die "update-xfonts-traditional:".
@@ -443,6 +453,7 @@ our (@options)=(
'share-dir=s' => \$sharedir,
'verbose|v+' => \$verbose,
'j|parallel=i' => \$wanted_parallel,
+ 'tolerate-bad-fonts!' => \$tolerate_bad_fonts,
);
sub define_mode ($$) {