$!=0; $_=<T>; defined or die $!;
}
-sub parsetag_general ($;$) {
- my ($dgititemfn, $need_distro) = @_;
+sub parsetag_general ($$) {
+ my ($dgititemfn, $distrofn) = @_;
printdebug " parsetag...\n";
my $copyl = $_;
while (length) {
if ($dgititemfn->()) {
} elsif (s/^distro\=(\S+) //) {
- die "$1 != $distro" unless $1 eq $distro;
- $need_distro = 0;
+ $distrofn->($1);
} elsif (s/^[-+.=0-9a-z]\S* //) {
} else {
die "unknown dgit info in tag ($_)";
}
last if m/^-----BEGIN PGP/;
}
- reject "need distro info in tag" if $need_distro;
$_ = $copyl;
for (;;) {
return 0;
}
return 1;
+ }, sub {
+ my ($gotdistro) = @_;
+ die "$gotdistro != $distro" unless $gotdistro eq $distro;
};
}