namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
-f option and read_config(), prep()
- From: Makoto Fujiwara <makoto@xxxxx>
- Date: Wed, 15 Dec 1999 13:24:41 +0900 (JST)
以前 (Date: Wed, 01 Dec 1999 20:00:20 +0900)に
read_config と prep() の順序を入替えた方がいい、
そうしないと $ALLOW_REGEX が効かない
read_config();
+ my $file_base = prep();
とするのがいいと書きましたが
こんどは、その prep() の中に parse_option() があって、そうす
ると、-f で指定したものが read_config() に効かないという問題に
なってしまいます。
僕は
$CONFDIR/mknmz.conf
$CONFDIR/mknmzrc
$ENV{'HOME'}/.mknmzrc
$ConfigFile ( -f に指定したもの)
という順に読むのがいい。(後の方が上書き優先) と理解している
のですが、どちらにしても、そうはなっていない気がします。
parse_option() だけ外に出して、それから上に書いたように
複数の設定を読むようにして見ました。
---
(藤原)
--- namazu/src/mknmz.pl.in Sat Dec 11 09:45:35 1999
+++ namazu-1999-12-14/src/mknmz.pl.in Wed Dec 15 12:11:33 1999
@@ -68,8 +68,9 @@
init();
setup_magic();
load_modules();
+ my ($output_dir, @targets) = parse_options();
read_config();
- my $file_base = prep();
+ my $file_base = prep($output_dir, @targets);
load_olemodules() if ($var::Opt{'ole'});
my $swap = 1;
@@ -133,18 +134,21 @@
sub read_config () {
my (@cand) = ();
- push @cand, $ConfigFile if defined $ConfigFile;
- push @cand, "$ENV{'HOME'}/.mknmzrc" if defined $ENV{'HOME'};
+ push @cand, "$CONFDIR/mknmz.conf" ;
push @cand, "$CONFDIR/mknmzrc";
+ push @cand, "$ENV{'HOME'}/.mknmzrc";
+ push @cand, $ConfigFile if defined $ConfigFile;
+ print STDERR "Reading config file: " ;
for my $conf (@cand) {
if (-f $conf) {
util::vprint("conf: $conf\n");
do $conf;
$ConfigFile = $conf;
- return;
+ print STDERR " $conf";
}
}
+ print STDERR "\n"
}
sub re_exec($$$$) {
@@ -620,11 +624,10 @@
sub prep () {
my $file_base = 0;
- my $output_dir = "";
- my @targets = ();
+ my $output_dir = shift @_ ;
+ my @targets = @_ ;
my @flist = ();
- ($output_dir, @targets) = parse_options();
$var::OUTPUT_DIR = $output_dir;
require_modules();