Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.4:Update
perl-Email-Date-Format
fix-time-local.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File fix-time-local.patch of Package perl-Email-Date-Format
Author: Bernhard M. Wiedemann <bwiedemann suse de> Date: 2018-02-23 https://rt.cpan.org/Public/Bug/Display.html?id=124530 Index: Email-Date-Format-1.005/lib/Email/Date/Format.pm =================================================================== --- Email-Date-Format-1.005.orig/lib/Email/Date/Format.pm +++ Email-Date-Format-1.005/lib/Email/Date/Format.pm @@ -54,8 +54,12 @@ use Time::Local (); sub _tz_diff { my ($time) = @_; - my $diff = Time::Local::timegm(localtime $time) - - Time::Local::timegm(gmtime $time); + my @localtime = localtime $time; + my @gmtime = gmtime $time; + $localtime[5] += 1900; + $gmtime[5] += 1900; + my $diff = Time::Local::timegm(@localtime) + - Time::Local::timegm(@gmtime); my $direc = $diff < 0 ? '-' : '+'; $diff = abs $diff; Index: Email-Date-Format-1.005/t/basic.t =================================================================== --- Email-Date-Format-1.005.orig/t/basic.t +++ Email-Date-Format-1.005/t/basic.t @@ -1,4 +1,4 @@ -use Test::More tests => 3; +use Test::More tests => 7; use strict; $^W = 1; @@ -12,7 +12,10 @@ is( my $birthday = 1153432704; # no, really! -my $tz = sprintf "%s%02u%02u", Email::Date::Format::_tz_diff(1153432704); +sub tz($) { sprintf "%s%02u%02u", Email::Date::Format::_tz_diff(shift) } + +local $ENV{TZ} = "UTC+4"; +my $tz = tz(1153432704); SKIP: { skip "test only useful in US/Eastern, -0400, not $tz", 1 if $tz ne '-0400'; @@ -29,3 +32,12 @@ is( 'Thu, 20 Jul 2006 21:58:24 +0000', "rjbs's birthday date format properly in GMT", ); + +my $badyear = 1900 + ((gmtime)[5] - 49) % 100; +my $badt = Time::Local::timegm(0, 0, 0, 1, 0, $badyear); +$ENV{TZ} = "UTC-11"; +is(tz($badt - 60), "+1100", "positive timezone before year rollover"); +is(tz($badt + 60), "+1100", "positive timezone after year rollover"); +$ENV{TZ} = "UTC+9"; +is(tz($badt - 60), "-0900", "negative timezone before year rollover"); +is(tz($badt + 60), "-0900", "negative timezone after year rollover");
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor