[Bug 4976] New: Daylight saving time calculation fails when M-specifier is larger than number of weeks in the month
bugzilla at busybox.net
bugzilla at busybox.net
Sun Mar 25 08:29:52 UTC 2012
https://bugs.busybox.net/show_bug.cgi?id=4976
Summary: Daylight saving time calculation fails when
M-specifier is larger than number of weeks in the
month
Product: uClibc
Version: 0.9.30.1
Platform: Other
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P5
Component: Other
AssignedTo: unassigned at uclibc.org
ReportedBy: jpa at busybox.mail.kapsi.fi
CC: uclibc-cvs at uclibc.org
Estimated Hours: 0.0
Today, 2012-03-25, uClibc did not switch to DST even though glibc-based systems
using the same TZ string did.
root at busybox:~# TZ='EET-2EEST-3,M3.5.0/03:00:00,M10.5.0/04:00:00' date
Sun Mar 25 10:15:39 EET 2012
root at debian:~# TZ='EET-2EEST-3,M3.5.0/03:00:00,M10.5.0/04:00:00' date
Sun Mar 25 11:20:01 EEST 2012
--
I think the problem is related to the parsing of the M3.5.0 specifier, which
means "last Sunday of March". That meaning of '5' is documented atleast here:
http://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html and it is
necessary to properly specify the DST observed in eastern Europe.
The bug is probably somewhere around here. Lines 700-702 seem to implement the
functionality, but for some reason it is not working.
http://git.uclibc.org/uClibc/tree/libc/misc/time/time.c#n685
--
Because the commands given in the beginning will stop working when time
proceeds, use this command for testing:
TZ='EET-2EEST-3,M3.5.0/03:00:00,M10.5.0/04:00:00' date -d '2012-03-25 12:00'
+%Z
When working correctly, it should print 'EEST' (Eastern European Summer Time).
Busybox currently prints EET.
--
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the uClibc-cvs
mailing list