diff --git a/fhem/FHEM/98_version.pm b/fhem/FHEM/98_version.pm index bf1d7a0fd..0b0d55a7e 100755 --- a/fhem/FHEM/98_version.pm +++ b/fhem/FHEM/98_version.pm @@ -7,7 +7,7 @@ use warnings; sub version_Initialize($$) { $cmds{version} = { Fn => "CommandVersion", - Hlp=>"[filter],print SVN version of loaded modules"}; + Hlp=>"[] [noheader],print SVN version of loaded modules"}; } ##################################### @@ -16,6 +16,11 @@ CommandVersion($$) { my ($cl, $param) = @_; + my $noheader = ($param =~ s/\s+noheader\s*$//); + + eval { "test" =~ /$param/ }; + return "invalid filter regexp" if($@); + my @ret; my $max = 0; my $modpath = (exists($attr{global}{modpath}) ? $attr{global}{modpath} : ""); @@ -55,7 +60,7 @@ CommandVersion($$) @ret = map {/\$Id\: (\S+) (\S+) (.+?) \$/ ? sprintf("%-".$max."s %5d %s",$1,$2,$3) : $_} @ret; @ret = sort {version_sortModules($a, $b)} grep {(defined($param) ? $_ =~ /$param/ : 1)} @ret; return "no loaded modules found that match: $param" if($param && !@ret); - return sprintf("%-".$max."s %s","File","Rev Last Change\n\n"). + return ($noheader ? "" : sprintf("%-".$max."s %s","File","Rev Last Change\n\n")). trim(join("\n", grep (($_ =~ /^fhem.pl|\d\d_/), @ret))."\n\n". join("\n", grep (($_ !~ /^fhem.pl|\d\d_/), @ret)) ); @@ -91,13 +96,15 @@ sub version_sortModules($$)

version

=end html @@ -125,13 +140,14 @@ sub version_sortModules($$)

version

=end html_DE