Allow setting action parameters

Signed-off-by: Tom Eastep <teastep@shorewall.net>
This commit is contained in:
Tom Eastep 2013-01-18 15:05:14 -08:00
parent 95aab78c0d
commit 1307770178

View File

@ -2272,12 +2272,21 @@ sub process_compiler_directive( $$$$ ) {
unless ( $omitting ) {
directive_error( "Missing SET variable", $filename, $linenumber ) unless supplied $expression;
( my $var , $expression ) = split ' ', $expression, 2;
directive_error( "Invalid SET variable ($var)", $filename, $linenumber) unless $var =~ /^\$?([a-zA-Z]\w*)$/;
directive_error( "Invalid SET variable ($var)", $filename, $linenumber) unless $var =~ /^([$@])?([a-zA-Z]\w*)$/;
directive_error( "Missing SET expression" , $filename, $linenumber) unless supplied $expression;
if ( ( $1 || '' ) eq '@' ) {
directive_error( "Invalid SET variable", $filename, $linenumber ) unless exists $actparms{$2};
$actparms{$2} = evaluate_expression ( $expression,
$filename,
$linenumber );
$paramsmodified = 1;
} else {
$variables{$1} = evaluate_expression( $expression,
$filename,
$linenumber );
}
}
} ,
FORMAT => sub() {