summaryrefslogtreecommitdiffstats
path: root/perl-install/interactive_stdio.pm
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2000-11-08 00:01:16 +0000
committerMystery Man <unknown@mandriva.org>2000-11-08 00:01:16 +0000
commitd5c526273db473a7d87a26000585900fc10dda7d (patch)
tree0fdaabe7a00921b6cc556601b103d344fc7ac781 /perl-install/interactive_stdio.pm
parent9c164312d4bfff6d93e1c4529de6b992f2bebc44 (diff)
downloaddrakx-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.pm50
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;