diff options
author | damien <damien@mandriva.com> | 2000-11-28 16:56:52 +0000 |
---|---|---|
committer | damien <damien@mandriva.com> | 2000-11-28 16:56:52 +0000 |
commit | 0880c7ba8ce88e87fa600aeb367a8f88a3ae71e7 (patch) | |
tree | 33f7ac905998f9ad6d85090f777ee4c0d0c67032 /perl-install/modparm.pm | |
parent | d5c526273db473a7d87a26000585900fc10dda7d (diff) | |
download | drakx-backup-do-not-use-topic/unlabeled-1.1.1.tar drakx-backup-do-not-use-topic/unlabeled-1.1.1.tar.gz drakx-backup-do-not-use-topic/unlabeled-1.1.1.tar.bz2 drakx-backup-do-not-use-topic/unlabeled-1.1.1.tar.xz drakx-backup-do-not-use-topic/unlabeled-1.1.1.zip |
branch to build the firewall install.topic/unlabeled-1.1.1
Diffstat (limited to 'perl-install/modparm.pm')
-rw-r--r-- | perl-install/modparm.pm | 84 |
1 files changed, 32 insertions, 52 deletions
diff --git a/perl-install/modparm.pm b/perl-install/modparm.pm index a630cdd5c..b6aee8905 100644 --- a/perl-install/modparm.pm +++ b/perl-install/modparm.pm @@ -1,14 +1,26 @@ -package modparm; +package modparm; # $Id$ +use diagnostics; +use strict; + +#-###################################################################################### +#- misc imports +#-###################################################################################### +use common qw(:common :functional); use log; -my %modparm_hash; -sub read_modparm_file($) { - my ($file) = @_; + +#-###################################################################################### +#- Functions +#-###################################################################################### +sub read_modparm_file { + my $file = -e "modparm.lst" ? "modparm.lst" : "$ENV{SHARE_PATH}/modparm.lst"; my @line; - open F, $file; + my %modparm_hash; + local *F; open F, $file or log::l("missing $file: $!"), return; + local $_; while (<F>) { chomp; @line = split ':'; @@ -19,62 +31,30 @@ sub read_modparm_file($) { desc => $line [4], }; } - close F; + \%modparm_hash; } -sub get_options_result($;$) { - my ($module,$value) = @_; - my @names = keys %{$modparm_hash{$module}}; - my $options; - my $result; - my $i; - - for $i (0..$#$value) { - $result = $ {$value->[$i]}; - - if ($result != "") { - $options .= "$names[$i]=$result "; - } - } +sub get_options_result($@) { + my ($module, @value) = @_; + my $modparm_hash = modparm::read_modparm_file; - return $options; + mapn { + my ($a, $b) = @_; + $a ? "$b=$a" : () + } \@value, [ keys %{$modparm_hash->{$module}} ]; } sub get_options_name($) { my ($module) = @_; - my @names = keys %{$modparm_hash{$module}}; - my @result; - my $opttype; - my $default; - - foreach (@names) { - $opttype = $modparm_hash{$module}{$_}{type}; - $default = $modparm_hash{$module}{$_}{default}; + my @names; + my $modparm_hash = modparm::read_modparm_file; - if (defined($default)) { - push @result, _("$_ ($opttype)[$default]"); - } else { - push @result, _("$_ ($opttype)"); - } + while (my ($k, $v) = each %{$modparm_hash->{$module} || {}}) { + my $opttype = $v->{type}; + my $default = $v->{default}; + push @names, "$k ($v->{type})" . (defined($v->{default}) && "[$v->{default}]"); } - - return \@result; + @names; } -sub get_options_value($) { - my ($module) = @_; - my @names = keys %{$modparm_hash{$module}}; - my @result; - - for $i (0..$#names) { - my $value = ""; - - $result[$i] = \$value; - } - - return \@result; -} - -read_modparm_file("/tmp/modparm.txt"); - 1; |