summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfukachan <fukachan>2001-02-18 04:56:11 +0000
committerfukachan <fukachan>2001-02-18 04:56:11 +0000
commitadefc3267af98da52b4eafd9df0ada36ea36803a (patch)
tree20f36ab8d9621abab6ee073efbf4602907f43fab
parentc138f7bb48a8a34ef904ae942f19075ec3020f57 (diff)
downloadfml8-adefc3267af98da52b4eafd9df0ada36ea36803a.tar.gz
fml8-adefc3267af98da52b4eafd9df0ada36ea36803a.tar.bz2
fml8-adefc3267af98da52b4eafd9df0ada36ea36803a.zip
fix how to work when $argv[0] is not specified
-rw-r--r--fml/lib/FML/Process/Configure.pm3
-rw-r--r--fml/lib/FML/Process/Kernel.pm7
-rw-r--r--fml/lib/FML/Process/Switch.pm7
3 files changed, 9 insertions, 8 deletions
diff --git a/fml/lib/FML/Process/Configure.pm b/fml/lib/FML/Process/Configure.pm
index bbcce69f..e1747c8c 100644
--- a/fml/lib/FML/Process/Configure.pm
+++ b/fml/lib/FML/Process/Configure.pm
@@ -43,7 +43,6 @@ sub run
my $config = $curproc->{ config };
my $myname = $args->{ myname };
my $argv = $args->{ ARGV };
- my $command = $argv->[ 0 ] || croak("command not specified\n");
# XXX debug
# use Data::Dumper; print Dumper( $args ); sleep 3;
@@ -55,6 +54,7 @@ sub run
exec 'perldoc', '-v', @$argv;
}
else {
+ my $command = $argv->[ 0 ] || croak("command not specified\n");
$curproc->lock();
{
;
@@ -69,6 +69,7 @@ sub _show_conf
my ($curproc, $args) = @_;
my $config = $curproc->{ config };
my $mode = $args->{ options }->{ n } ? 'difference_only' : 'all';
+ my $argv = $args->{ ARGV };
$config->dump_variables({ mode => $mode });
}
diff --git a/fml/lib/FML/Process/Kernel.pm b/fml/lib/FML/Process/Kernel.pm
index f260e0d8..57e70037 100644
--- a/fml/lib/FML/Process/Kernel.pm
+++ b/fml/lib/FML/Process/Kernel.pm
@@ -30,13 +30,16 @@ sub new
my ($cfargs) = {};
# import variables
- my (@import_vars) = qw(ml_home_prefix);
- push(@import_vars, 'ml_home_dir') if $args->{ need_ml_name };
+ my (@import_vars) = qw(ml_home_prefix ml_home_dir);
for my $var (@import_vars) {
if ($args->{ $var }) {
$cfargs->{ $var } = $args->{ $var };
}
else {
+ if ($var eq 'ml_home_dir' && (not $args->{ need_ml_name })) {
+ next;
+ }
+
croak "variable $var is not defined.\n";
}
}
diff --git a/fml/lib/FML/Process/Switch.pm b/fml/lib/FML/Process/Switch.pm
index eef95c85..6ec2bd6c 100644
--- a/fml/lib/FML/Process/Switch.pm
+++ b/fml/lib/FML/Process/Switch.pm
@@ -13,7 +13,7 @@ package FML::Process::Switch;
use strict;
use Carp;
use vars qw($debug);
-
+use Standalone;
sub main::Bootstrap2
{
@@ -173,10 +173,7 @@ sub _ml_name_is_required
{
my ($myname) = @_;
- if ($myname eq 'fmlconf') {
- return 0;
- }
- elsif ($myname eq 'fmldoc') {
+ if ($myname eq 'fmldoc') {
return 0;
}
else {