diff options
Diffstat (limited to 'menuselect')
-rwxr-xr-x | menuselect/menuselect | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/menuselect/menuselect b/menuselect/menuselect index 2c171d0..792bfd5 100755 --- a/menuselect/menuselect +++ b/menuselect/menuselect @@ -585,6 +585,14 @@ sub fail_reason($) { } } +sub item_used($) { + my $item = shift; + my $type = $item->{Type}; + + return $item->{Avail} if ($type eq 'lib'); + return $item->{Checked}; +} + sub print_module_status { my $flag_verbose = shift; my $items = read_dump(); @@ -604,7 +612,7 @@ sub print_module_status { my $item = $items->{$item_name}; if ($flag_verbose) { printf "%s %-8s %-30s\n", - (($item->{Avail})? 'Y':'n'), + (item_used($item)? 'Y':'n'), $item->{Type}, $item->{Key}; if (!$item->{Avail}) { @@ -614,17 +622,17 @@ sub print_module_status { foreach (@{$item->{Depend}}) { my $depmod = $items->{$_}; printf(" * %-12s ",$_); - print (($depmod->{Avail})? '': "un"); + print (item_used($depmod)? '': "un"); print "available\n"; } } else { printf "%s %-8s %-30s", - (($item->{Avail})? 'Y':'n'), + (item_used($item)? 'Y':'n'), $item->{Type}, $item->{Key}; foreach (@{$item->{Depend}}) { my $depmod = $items->{$_}; - if ($depmod->{Avail}) { + if (item_used($depmod)) { print "$_ "; } else { printf "[%s] ", $_; |