diff options
| author | fukachan <fukachan> | 2001-10-13 13:11:34 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2001-10-13 13:11:34 +0000 |
| commit | 576289aae815fa4dab2e62d9ecdf303455f476f5 (patch) | |
| tree | 572f5efb58668d5342eaa82c02872e8923acc541 /fml | |
| parent | 8a036f9183a2dd13f5734b535ff47d212cebf4a5 (diff) | |
| download | fml8-576289aae815fa4dab2e62d9ecdf303455f476f5.tar.gz fml8-576289aae815fa4dab2e62d9ecdf303455f476f5.tar.bz2 fml8-576289aae815fa4dab2e62d9ecdf303455f476f5.zip | |
avoid infinite loop
Diffstat (limited to 'fml')
| -rw-r--r-- | fml/lib/FML/Config.pm | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/fml/lib/FML/Config.pm b/fml/lib/FML/Config.pm index 5554042f..86b763c5 100644 --- a/fml/lib/FML/Config.pm +++ b/fml/lib/FML/Config.pm @@ -1,7 +1,7 @@ #-*- perl -*- # Copyright (C) 2000-2001 Ken'ichi Fukamachi # -# $FML: Config.pm,v 1.43 2001/10/12 00:14:19 fukachan Exp $ +# $FML: Config.pm,v 1.44 2001/10/13 03:00:12 fukachan Exp $ # package FML::Config; @@ -412,7 +412,6 @@ sub write else { use Carp; carp("cannot open > $file"); - Log("cannot open > $file"); } } @@ -504,8 +503,15 @@ expand $varname to $config->{ varname } in C<$rbuf>. sub expand_variable_in_buffer { my ($config, $rbuf, $args) = @_; + my $loop_max = 16; + my $loop = 0; + EXPAND: while ($$rbuf =~ /\$([\w\d\_]+)/) { + # in some case, we cannot expand ;) + # for example, $FML which is not defined in config.cf. + last EXPAND if $loop++ > $loop_max; + my $varname = $1; if (defined $config->{ $varname }) { my $x = $config->{ $varname }; |
