display and return errors from configuration code
authorDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 17 Sep 2010 19:37:03 +0000 (19:37 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 17 Sep 2010 19:37:03 +0000 (19:37 +0000)
lib/PXElator/config.pm

index 99ad0e0..af35fba 100644 (file)
@@ -332,7 +332,12 @@ sub for_ip {
        $server = server::as_hash_for $ip;
        $server_ip = $server->{ip} || die "no server ip";
        my $config = client::conf( $ip => 'config' ) || return;
-       eval $config . '($ip)'; # must be last
+       my $ret = eval $config . '($ip)'; # must be last
+       if ( $@ ) {
+               warn "ERROR in executing $config($ip): $@\n";
+               $ret .= qq{<pre style="color:red">$@</pre>};
+       }
+       return $ret;
 }
 
 warn 'loaded';