-=| Adrian Bunk, 13.01.2017 17:01:15 +0200 |=- > Damyan, can you take care of this?
Probably, but I can't do it promptly. I don't agree with the statement that defined %{$hash{key}} is better to be replaced with exists $hash{key} than with %{$hash{key}} (same for defined @{$hash{key}}) I'd need to investigate what breaks, which would need time. Perhaps somebody from the perl group (CC-ed) can take a look? -- dam > On Tue, Sep 15, 2015 at 11:08:53PM +0300, Vladimir Panov wrote: > > Package: mrtg-rrd > > Version: 0.7-5.1 > > Severity: grave > > Tags: patch > > Justification: renders package unusable > > > > Dear Maintainer, > > > > The fix for bug #787608 has left the package in an unusable state (the > > result of the execution of mrtg-rrd.cgi is a blank page). > > The cause is the blind removal of the defined function. At least in 3 of > > the 4 instances it should be replaced with exists. I don't know about the > > fourth instance since I am not a Perl expert. > > > > Please, see the proposed patch below. It should be applied instead of > > no-defined-hash-array.patch, i.e. against the original source. > > > > > > --- a/mrtg-rrd.cgi > > +++ b/mrtg-rrd.cgi > > @@ -496,7 +496,7 @@ sub common_args($$$) > > { > > my ($name, $target, $q) = @_; > > > > - return @{$target->{args}} if defined @{$target->{args}}; > > + return @{$target->{args}} if exists $target->{args}; > > > > my $noi = 1 if $target->{options}{noi}; > > my $noo = 1 if $target->{options}{noo}; > > @@ -521,7 +521,7 @@ sub common_args($$$) > > $target->{rrd} = $dir . '/' . $tdir . $name . '.rrd'; > > > > %{$target->{options}} = () > > - unless defined %{$target->{options}}; > > + unless %{$target->{options}}; > > > > $dir = $cfg->{workdir}; > > $dir = $cfg->{imagedir} > > @@ -908,7 +908,7 @@ EOF > > print $directories{$dir}{bodytag}; > > > > my $subdirs_printed; > > - if (defined @{$directories{$dir}{subdir}}) { > > + if (exists $directories{$dir}{subdir}) { > > $subdirs_printed = 1; > > print <<EOF; > > <H1>MRTG subdirectories in the directory $dir1</H1> > > @@ -921,7 +921,7 @@ EOF > > > > print "</UL>\n"; > > } > > - if (defined @{$directories{$dir}{target}}) { > > + if (exists $directories{$dir}{target}) { > > print "<HR>\n" if defined $subdirs_printed; > > print <<EOF; > > <H1>MRTG graphs in the directory $dir1</H1> > >
signature.asc
Description: Digital signature