diff options
author | Mystery Man <unknown@mandriva.org> | 2000-11-08 00:01:16 +0000 |
---|---|---|
committer | Mystery Man <unknown@mandriva.org> | 2000-11-08 00:01:16 +0000 |
commit | d5c526273db473a7d87a26000585900fc10dda7d (patch) | |
tree | 0fdaabe7a00921b6cc556601b103d344fc7ac781 /perl-install/interactive_stdio.pm | |
parent | 9c164312d4bfff6d93e1c4529de6b992f2bebc44 (diff) | |
download | drakx-d5c526273db473a7d87a26000585900fc10dda7d.tar drakx-d5c526273db473a7d87a26000585900fc10dda7d.tar.gz drakx-d5c526273db473a7d87a26000585900fc10dda7d.tar.bz2 drakx-d5c526273db473a7d87a26000585900fc10dda7d.tar.xz drakx-d5c526273db473a7d87a26000585900fc10dda7d.zip |
This commit was manufactured by cvs2svn to create branch
'unlabeled-1.1.1'.
Diffstat (limited to 'perl-install/interactive_stdio.pm')
-rw-r--r-- | perl-install/interactive_stdio.pm | 50 |
1 files changed, 17 insertions, 33 deletions
diff --git a/perl-install/interactive_stdio.pm b/perl-install/interactive_stdio.pm index e37e71672..40dcdbb7c 100644 --- a/perl-install/interactive_stdio.pm +++ b/perl-install/interactive_stdio.pm @@ -9,7 +9,7 @@ use vars qw(@ISA); use interactive; use common qw(:common); -$| = 1; +1; sub readln { my $l = <STDIN>; @@ -19,20 +19,19 @@ sub readln { sub check_it { my ($i, $n) = @_; - $i =~ /^\s*\d+\s*$/ && 1 <= $i && $i <= $n + $i =~ /^\s*\d+\s*$/ && 1 <= $i && $i <= $n } sub ask_from_listW { - my ($o, $title_, $messages, $list, $def) = @_; - my ($title, @okcancel) = ref $title_ ? @$title_ : ($title_, _("Ok"), _("Cancel")); - print map { "$_\n" } @$messages; + my ($o, $title, $messages, $list, $def) = @_; my $i; + print map { "$_\n" } @$messages; if (@$list < 10 && sum(map { length $_ } @$list) < 50) { my @l; do { if (defined $i) { - @l ? print _("Ambiguity (%s), be more precise\n", join(", ", @l)) : + @l ? print _("Ambiguity (%s) be more precise\n", join(", ", @l)) : print _("Bad choice, try again\n"); } @$list == 1 ? print @$list : @@ -42,10 +41,10 @@ sub ask_from_listW { } until (@l == 1); $l[0]; } else { - my $n = 0; foreach (@$list) { + my $n = 0; foreach (@$list) { $n++; $def eq $_ and $def = $n; - print "$n: $_\n"; + print "$n: $_\n"; } do { defined $i and print _("Bad choice, try again\n"); @@ -56,14 +55,14 @@ sub ask_from_listW { } } -sub ask_many_from_list_refW { - my ($o, $title, $messages, $list, $val) = @_; +sub ask_many_from_listW { + my ($o, $title, $messages, $list, $default) = @_; my @defaults; print map { "$_\n" } @$messages; - my $n = 0; foreach (@$list) { - $n++; - print "$n: $_\n"; - push @defaults, $n if ${$val->[$n - 1]}; + my $n = 0; foreach (@$list) { + $n++; + print "$n: $_\n"; + push @defaults, $n if $default->[$n - 1]; } my $i; TRY_AGAIN: @@ -71,26 +70,11 @@ sub ask_many_from_list_refW { print _("Your choice? (default %s enter `none' for none) ", join(',', @defaults)); $i = readln(); my @t = split ',', $i; - if ($i =~ /^none$/i) { - @t = (); - } else { - foreach (@t) { check_it($_, $n) or goto TRY_AGAIN } - } + foreach (@t) { check_it($_, $n) or goto TRY_AGAIN } - $$_ = 0 foreach @$val; - ${$val->[$_ - 1]} = 1 foreach @t; - $val; + my @rr = (0) x @$list; + $rr[$_ - 1] = 1 foreach @t; + @rr; } -sub wait_messageW { - my ($o, $title, $message) = @_; - print join "\n", @$message; -} -sub wait_message_nextW { - my $m = join "\n", @{$_[1]}; - print "\r$m", ' ' x (60 - length $m); -} -sub wait_message_endW { print "\nDone\n" } - -1; |