diff options
author | J Pipkin <j@dawnrazor.net> | 2013-01-13 01:54:41 -0600 |
---|---|---|
committer | J Pipkin <j@dawnrazor.net> | 2013-01-13 01:54:41 -0600 |
commit | dd2ee9c806550d0f6fb954a347d4e1952e7427cb (patch) | |
tree | b964dfab8cab567bbe92a9ca6dd7e5f1153d31f5 /SBO-Lib/lib/SBO | |
parent | 32abf3c7e9183cfe79019c748e588496722f7426 (diff) | |
download | sbotools2-dd2ee9c806550d0f6fb954a347d4e1952e7427cb.tar.xz |
get_installed_packages() should only run its loop for items it is able to pull all three variables from
Diffstat (limited to 'SBO-Lib/lib/SBO')
-rw-r--r-- | SBO-Lib/lib/SBO/Lib.pm | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/SBO-Lib/lib/SBO/Lib.pm b/SBO-Lib/lib/SBO/Lib.pm index 83fbe3c..da67c22 100644 --- a/SBO-Lib/lib/SBO/Lib.pm +++ b/SBO-Lib/lib/SBO/Lib.pm @@ -260,16 +260,17 @@ sub get_installed_packages($) { my $regex = qr#/([^/]+)-([^-]+)-[^-]+-([^-]+)$#; for my $path (<$pkg_db/*>) { - my ($name, $version, $build) = ($path =~ $regex)[0,1,2]; - # valid types: STD, SBO - my $type = 'STD'; - if ($build =~ m/_SBo(|compat32)$/) { - my $sbo = $name; - $sbo =~ s/-compat32//g if $name =~ /-compat32$/; - $type = 'SBO' if get_sbo_location($sbo); - } - if ($filter eq $type or $filter eq 'ALL') { - push @installed, {name => $name, version => $version}; + if (my ($name, $version, $build) = ($path =~ $regex)[0,1,2]) { + # valid types: STD, SBO + my $type = 'STD'; + if ($build =~ m/_SBo(|compat32)$/) { + my $sbo = $name; + $sbo =~ s/-compat32//g if $name =~ /-compat32$/; + $type = 'SBO' if get_sbo_location($sbo); + } + if ($filter eq $type or $filter eq 'ALL') { + push @installed, {name => $name, version => $version}; + } } } return \@installed; |