$sign = '+' if $off == 0;
$zone = sprintf('%s%02d%02d', $sign, $tz_hh, $tz_mm);
- # Time::Zone and Date::Parse are part of the same distibution,
+ # Time::Zone and Date::Parse are part of the same distribution,
# and we need Time::Zone to deal with tz names like "EDT"
} elsif (eval { require Date::Parse }) {
$ts = Date::Parse::str2time($date);
}
# Favors Received header for sorting globally
-sub msg_timestamp ($) {
- my ($hdr) = @_; # Email::MIME::Header
+sub msg_timestamp ($;$) {
+ my ($hdr, $fallback) = @_; # Email::MIME::Header
my $ret;
$ret = msg_received_at($hdr) and return time_response($ret);
$ret = msg_date_only($hdr) and return time_response($ret);
- wantarray ? (time, '+0000') : time;
+ time_response([ $fallback // time, '+0000' ]);
}
# Favors the Date: header for display and sorting within a thread
-sub msg_datestamp ($) {
- my ($hdr) = @_; # Email::MIME::Header
+sub msg_datestamp ($;$) {
+ my ($hdr, $fallback) = @_; # Email::MIME::Header
my $ret;
$ret = msg_date_only($hdr) and return time_response($ret);
$ret = msg_received_at($hdr) and return time_response($ret);
- wantarray ? (time, '+0000') : time;
+ time_response([ $fallback // time, '+0000' ]);
}
1;