The PublicInbox::Cgit wrapper will return a sub-ref for most
responses, so ensure we don't try to treat it as an array-ref.
---
 lib/PublicInbox/WWW.pm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/PublicInbox/WWW.pm b/lib/PublicInbox/WWW.pm
index d0e20fb5..470510ae 100644
--- a/lib/PublicInbox/WWW.pm
+++ b/lib/PublicInbox/WWW.pm
@@ -197,8 +197,9 @@ sub news_cgit_fallback ($) {
        my $www = $ctx->{www};
        my $env = $ctx->{env};
        my $res = $www->news_www->call($env);
-       $res = $www->cgit->call($env) if $res->[0] == 404;
-       $res = $www->coderepo->srv($ctx) if $res->[0] == 404;
+       $res = $www->cgit->call($env, $ctx) if $res->[0] == 404;
+       ref($res) eq 'ARRAY' && $res->[0] == 404 and
+               $res = $www->coderepo->srv($ctx);
        $res;
 }
 

Reply via email to