Adding better regexp check.

Multiline command allowed


git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@6195 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2014-07-04 11:53:51 +00:00
parent b159444aca
commit aba8160d6a

View File

@ -25,7 +25,7 @@ cmdalias_Define($$$)
{
my ($hash, $def) = @_;
if($def !~ m/^([^ ]*) cmdalias ([^ ]*)(.*) AS (.*)$/) {
if($def !~ m/^([^ ]*) cmdalias ([^ ]*)(.*) AS (.*)$/s) {
my $msg =
"wrong syntax: define <name> cmdalias <cmd> [parameter] AS command...";
return $msg;
@ -33,7 +33,8 @@ cmdalias_Define($$$)
my ($name, $alias, $param, $newcmd) = ($1, $2, $3, $4);
$param =~ s/^ *//;
# Checking for misleading regexps
eval { "Hallo" =~ m/^$param$/ };
return "Bad regexp: starting with *" if($param =~ m/^\*/);
eval { qr/^$param$/ };
return "$name: Bad regexp in $param: $@" if($@);
$hash->{ALIAS} = lc($alias);
$hash->{PARAM} = $param;