X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Debbugs%2FPackages.pm;h=482938da9310a672ddf36dc37fce57768789f64f;hb=6ac2a8d22887e26125b0c2b91ec13c452a25d510;hp=6f12a3032e09b7b416d1320b770b16510957cd3f;hpb=acada093a15e9890fcddfaddce5f4169c6759a8a;p=debbugs.git diff --git a/Debbugs/Packages.pm b/Debbugs/Packages.pm index 6f12a30..482938d 100644 --- a/Debbugs/Packages.pm +++ b/Debbugs/Packages.pm @@ -139,6 +139,9 @@ arch(s), and verion(s) passed. In SCALAR context, only the corresponding source packages are returned, concatenated with ', ' if necessary. +If no source can be found, returns undef in scalar context, or the +empty list in list context. + =over =item binary -- binary package name(s) as a SCALAR or ARRAYREF @@ -266,9 +269,9 @@ sub binary_to_source{ tie %_sourcetobinary, MLDBM => $config{source_binary_map}, O_RDONLY or die "Unable top open $gSourceBinaryMap for reading"; } - for my $package (@package) { - if (exists $_sourcetobinary{$package}) { - push @source,[$package,$_] for keys %{$_sourcetobinary{$package}}; + for my $maybe_sourcepkg (@binaries) { + if (exists $_sourcetobinary{$maybe_sourcepkg}) { + push @source,[$maybe_sourcepkg,$_] for keys %{$_sourcetobinary{$maybe_sourcepkg}}; } } # if @source is still empty here, it's probably a non-existant @@ -608,7 +611,7 @@ sub make_source_versions { } my @srcinfo = binary_to_source(binary => $pkg, version => $version, - arch => $arch); + length($arch)?(arch => $arch):()); if (not @srcinfo) { # We don't have explicit information about the # binary-to-source mapping for this version