From 059c0ab0b7c79c06ab1683e6ea30604c25394ed6 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Tue, 17 Apr 2012 11:10:32 +0000 Subject: [PATCH] Reloading .pm files / returning error when compile failed git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@1462 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem.pl | 9 +++++---- webfrontend/pgm2/01_FHEMWEB.pm | 1 + 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/fhem.pl b/fhem.pl index 44b0e9995..e6e16a8ad 100755 --- a/fhem.pl +++ b/fhem.pl @@ -1539,12 +1539,11 @@ CommandReload($$) Log 5, "Loading $file"; no strict "refs"; - eval { + my $ret = eval { my $ret=do "$file"; if(!$ret) { Log 1, "reload: Error:Modul $param deactivated:\n $@"; - use strict "refs"; - return "$@"; + return $@; } # Get the name of the initialize function. This may differ from the @@ -1556,12 +1555,14 @@ CommandReload($$) last; } } - $ret = &{ "${fnname}_Initialize" }(\%hash); + &{ "${fnname}_Initialize" }(\%hash); $m = $fnname; + return undef; }; use strict "refs"; return "$@" if($@); + return $ret if($ret); my ($defptr, $ldata); if($modules{$m}) { diff --git a/webfrontend/pgm2/01_FHEMWEB.pm b/webfrontend/pgm2/01_FHEMWEB.pm index 9c2bab0be..d6c0541d8 100755 --- a/webfrontend/pgm2/01_FHEMWEB.pm +++ b/webfrontend/pgm2/01_FHEMWEB.pm @@ -1560,6 +1560,7 @@ FW_style($$) print FH $FW_data; close(FH); my $ret = FW_fC("rereadcfg") if($fName eq $attr{global}{configfile}); + $ret = FW_fC("reload $1") if($fName =~ m,.*/([^/]*).pm,); $ret = ($ret ? "

ERROR:

$ret" : "Saved the file $fName"); FW_style("style list", $ret); $ret = "";