mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-24 06:01:28 +00:00
- Fix list_driver.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1913 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -1919,41 +1919,51 @@ sub listDrivers {
|
||||
sub listTargets {
|
||||
my $target = shift;
|
||||
my $driver = shift;
|
||||
my %toprint;
|
||||
|
||||
return listGroups(undef, $driver, $target) if ($target && $driver);
|
||||
|
||||
my $got_driver = defined($driver);
|
||||
|
||||
my $drivers = $SCST->drivers();
|
||||
|
||||
my $l_driver;
|
||||
my $l_target;
|
||||
foreach my $driver (@{$drivers}) {
|
||||
$l_driver = length($driver) if ($l_driver < length($driver));
|
||||
foreach my $_driver (@{$drivers}) {
|
||||
$driver = $_driver if (!$got_driver);
|
||||
|
||||
my $targets = $SCST->targets($driver);
|
||||
if ($driver eq $_driver) {
|
||||
$toprint{$driver}++;
|
||||
$l_driver = length($driver) if ($l_driver < length($driver));
|
||||
|
||||
foreach my $target (@{$targets}) {
|
||||
$l_target = length($target) if ($l_target < length($target));
|
||||
my $targets = $SCST->targets($driver);
|
||||
|
||||
foreach my $target (@{$targets}) {
|
||||
$l_target = length($target) if ($l_target < length($target));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
printf("\t%-*s %-*s\n", $l_driver, 'Driver', $l_target, 'Target');
|
||||
print "\t";
|
||||
for (my $x = 0; $x < ($l_driver + $l_target + 1); $x++) {
|
||||
print "-";
|
||||
}
|
||||
print "\n";
|
||||
if (scalar(keys %toprint)) {
|
||||
printf("\t%-*s %-*s\n", $l_driver, 'Driver', $l_target, 'Target');
|
||||
print "\t";
|
||||
for (my $x = 0; $x < ($l_driver + $l_target + 1); $x++) {
|
||||
print "-";
|
||||
}
|
||||
print "\n";
|
||||
|
||||
my %p;
|
||||
my %p;
|
||||
|
||||
foreach my $driver (@{$drivers}) {
|
||||
my $targets = $SCST->targets($driver);
|
||||
foreach my $driver (keys %toprint) {
|
||||
my $targets = $SCST->targets($driver);
|
||||
|
||||
foreach my $target (@{$targets}) {
|
||||
if (!defined($p{$driver})) {
|
||||
printf("\t%-*s %-*s\n", $l_driver, $driver, $l_target, $target);
|
||||
$p{$driver}++;
|
||||
} else {
|
||||
printf("\t%-*s %-*s\n", $l_driver, '', $l_target, $target);
|
||||
foreach my $target (@{$targets}) {
|
||||
if (!defined($p{$driver})) {
|
||||
printf("\t%-*s %-*s\n", $l_driver, $driver, $l_target, $target);
|
||||
$p{$driver}++;
|
||||
} else {
|
||||
printf("\t%-*s %-*s\n", $l_driver, '', $l_target, $target);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user