From 9ed5424a5563a73700852a290e2b5ebbfb554289 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sun, 20 Sep 2009 11:13:38 +0200 Subject: Code cleanup --- bin/apt-why | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/bin/apt-why b/bin/apt-why index f19cc2d..991449c 100755 --- a/bin/apt-why +++ b/bin/apt-why @@ -29,7 +29,8 @@ sub revdeps { my $package = $cache->{$name}; my @return; my $rdeps = $package->{RevDependsList}; - foreach (@$rdeps) { + + foreach (@{$rdeps}) { if ( not $_->{ParentPkg}{Name} ~~ @known and ($all or $cache->{$_->{ParentPkg}{Name}}->{CurrentState} eq 'Installed') @@ -38,6 +39,7 @@ sub revdeps { push(@return, $_->{ParentPkg}{Name}); } } + push(@known, @return); return(@return); } @@ -45,13 +47,21 @@ sub revdeps { sub recurse { my $name = shift; my $depth = (shift) + 1; + printf("%s%s\n", " " x ($depth-1), $name); - return if ($depth >= $max_depth); - recurse($_, $depth) foreach revdeps($name); + + if ($depth >= $max_depth) { + return; + } + + foreach (revdeps($name)) { + recurse($_, $depth); + } + return; } -unless ($cache->{$packagename}) { +if (not defined $cache->{$packagename}) { print STDERR "No such package: $packagename\n"; exit(1); } -- cgit v1.2.3