Avoid "conditional and" for running plugins "filter"
[matthijs/upstream/blosxom.git] / blosxom.cgi
index 2c6b6ee17d1e7e5692668cba4f5be2d3297ff4dd..f4666d06e90dc5b73121862d0336f6b495a804e6 100755 (executable)
@@ -317,7 +317,14 @@ $entries =
 # Plugins: Entries
 # Allow for the first encountered plugin::entries subroutine to override the
 # default built-in entries subroutine
-my $tmp; foreach my $plugin ( @plugins ) { $plugins{$plugin} > 0 and $plugin->can('entries') and defined($tmp = $plugin->entries()) and $entries = $tmp and last; }
+foreach my $plugin (@plugins) {
+    if ( $plugins{$plugin} > 0 and $plugin->can('entries') ) {
+        if ( my $tmp = $plugin->entries() ) {
+            $entries = $tmp;
+            last;
+        }
+    }
+}
 
 my ($files, $indexes, $others) = &$entries();
 %indexes = %$indexes;
@@ -383,7 +390,9 @@ sub generate {
   %files = %$files; %others = ref $others ? %$others : ();
 
   # Plugins: Filter
-  foreach my $plugin ( @plugins ) { $plugins{$plugin} > 0 and $plugin->can('filter') and $entries = $plugin->filter(\%files, \%others) }
+  foreach my $plugin ( @plugins ) {
+  if ($plugins{$plugin} > 0 and $plugin->can('filter')){ $entries = $plugin->filter(\%files, \%others); }
+  }
 
   my %f = %files;