about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-02-25 09:23:03 +0000
committerEric Wong <e@yhbt.net>2020-03-01 23:24:16 +0000
commitd857e7dc0d816b635a7ead09c3273f8c2d2434be (patch)
tree22be3cb6ca53747486c9eb2b885f970bc5790d02 /lib
parent03255d56a53d390a7f7bb069e0f1c6ea5d34756c (diff)
downloadpublic-inbox-d857e7dc0d816b635a7ead09c3273f8c2d2434be.tar.gz
Some old emails don't have timezone offsets, since our
Date::Parse code path takes a liberal interpretation of dates,
fallback to using "+0000" as the timezone offset since it's
closer to the actual date of the message than whatever the
current date is.

Reported-by: Leah Neukirchen <leah@vuxu.org>
Link: https://public-inbox.org/meta/87h7zfemur.fsf@vuxu.org/
Fixes: ae80a3fdb53d7014 ("MsgTime.pm: Use strptime to compute the time zone")
Diffstat (limited to 'lib')
-rw-r--r--lib/PublicInbox/MsgTime.pm3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/PublicInbox/MsgTime.pm b/lib/PublicInbox/MsgTime.pm
index 8eee9a75..8703d7bc 100644
--- a/lib/PublicInbox/MsgTime.pm
+++ b/lib/PublicInbox/MsgTime.pm
@@ -104,7 +104,8 @@ sub str2date_zone ($) {
                 # off is the time zone offset in seconds from GMT
                 my ($ss,$mm,$hh,$day,$month,$year,$off) =
                                         Date::Parse::strptime($date);
-                return undef unless(defined $off);
+                return unless defined($year);
+                $off //= 0;
 
                 # Compute the time zone from offset
                 my $sign = ($off < 0) ? '-' : '+';