diff options
Diffstat (limited to 'perl-install/modules/parameters.pm')
| -rw-r--r-- | perl-install/modules/parameters.pm | 47 | 
1 files changed, 5 insertions, 42 deletions
| diff --git a/perl-install/modules/parameters.pm b/perl-install/modules/parameters.pm index 66590f7d8..36990b5d1 100644 --- a/perl-install/modules/parameters.pm +++ b/perl-install/modules/parameters.pm @@ -1,4 +1,4 @@ -package modules::parameters; # $Id$ +package modules::parameters;  use diagnostics;  use strict; @@ -13,48 +13,11 @@ use modules;  sub parameters {    my ($module) = @_; -  if (!$::isStandalone && !$::testing) { -      ($module) = modules::extract_modules('/tmp', $module); -  } - -  my @parameters; -  foreach (common::join_lines(run_program::get_stdout('modinfo', '-p', $module))) { +  map {        chomp; -      next if /^warning:/; -      (my $name, $_) = /(\w+)(?::|\s+)(.*)/s or warn "modules::parameters::get_options_name($module): unknown line\n"; -      if (c::kernel_version() =~ /^\Q2.6/) { -          push @parameters, [ $name, '', $_ ]; -          next; -      } - -      my $c_types = 'int|string|short|byte|char|long'; -      my ($is_a_number, $description, $min, $max) = (0, '', 1, 1); -      if (/^($c_types) array \(min = (\d+), max = (\d+)\),?\s*(.*)/s) { -	  $_ = $4; -	  #- seems like "char" are buggy entries -	  ($is_a_number, $min, $max) = ($1 ne 'string', $2, $3) if $1 ne 'char';  -      } elsif (/^($c_types),?\s*(.*)/s) { -	  $_ = $2; -	  #- here "char" really are size-limited strings, modinfo doesn't display the size limit (but since we don't care about it, it doesn't matter :) -	  $is_a_number = $1 ne 'string' if $1 ne 'char'; -      } else { -	  #- for things like "no format character" or "unknown format character" -      } -      if (/^description "(.*)",?\s*/s) { -	  ($description, $_) = ($1, $2); -      } -      #- print "STILL HAVE ($_)\n" if $_; - -	 my $format = $min == 1 && $max == 1 ? -		($is_a_number ? N("a number") : '') : -		$min == $max ?  -		($is_a_number ? N("%d comma separated numbers", $min) : N("%d comma separated strings", $min)) : -		$min == 1 ? -		($is_a_number ? N("comma separated numbers") : N("comma separated strings")) : -		''; #- too weird and buggy, do not display it -    push @parameters, [ $name, $format, $description ]; -  } -  @parameters; +      (my $name, $_) = /(\w+):(.*)/s or warn "modules::parameters::parameters($module): unknown line\n"; +      [ $name, $_ ]; +  } common::join_lines(run_program::get_stdout('modinfo', '-p', $module));  }  1; | 
