From 45f87867107724371d80a563099ab93eda1d919b Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Fri, 22 Oct 2021 00:49:35 -0400 Subject: [PATCH] wwwatomstream: call gmtime with scalar When the gmtime() calls were moved from feed_entry() and atom_header() into feed_updated() in c447bbbd, @_ rather than a scalar was passed to gmtime(). As a result, feed values end up as "1970-01-01T00:00:00Z". Switch back to using a scalar argument to restore the correct timestamps. Fixes: c447bbbddb4ac8e1 ("wwwatomstream: simplify feed_update callers") --- lib/PublicInbox/WwwAtomStream.pm | 3 ++- t/psgi_v2.t | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/PublicInbox/WwwAtomStream.pm b/lib/PublicInbox/WwwAtomStream.pm index f60251b7..5d32294e 100644 --- a/lib/PublicInbox/WwwAtomStream.pm +++ b/lib/PublicInbox/WwwAtomStream.pm @@ -161,7 +161,8 @@ sub feed_entry { } sub feed_updated { - '' . strftime('%Y-%m-%dT%H:%M:%SZ', gmtime(@_)) . ''; + my ($t) = @_; + '' . strftime('%Y-%m-%dT%H:%M:%SZ', gmtime($t)) . ''; } 1; diff --git a/t/psgi_v2.t b/t/psgi_v2.t index e0570682..64c1a8d3 100644 --- a/t/psgi_v2.t +++ b/t/psgi_v2.t @@ -92,6 +92,11 @@ my $client0 = sub { @bodies = ($res->content =~ /^(hello [^<]+)$/mg); is_deeply(\@bodies, [ "hello world!\n", "hello world\n" ], 'new.html ordering is chronological'); + + $res = $cb->(GET('/v2test/new.atom')); + my @dates = ($res->content =~ m!title>([^<]+)!g); + is_deeply(\@dates, [ "1993-10-02T00:01:00Z", "1993-10-02T00:00:00Z" ], + 'Date headers made it through'); }; test_psgi(sub { $www->call(@_) }, $client0); my $env = { TMPDIR => $tmpdir, PI_CONFIG => $cfgpath }; -- 2.44.0