* libc/time/tzset_r.c (tzset_r): Correct behavior for changing from

non-GMT to GMT, when un-setting TZ.  Set _timezone and _daylight even
	if no DST is given in TZ.
This commit is contained in:
Corinna Vinschen 2011-06-14 07:50:40 +00:00
parent 4226571d7a
commit 9bc99decb7
2 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2011-06-14 Craig Howland <howland@LGSInnovations.com>
* libc/time/tzset_r.c (tzset_r): Correct behavior for changing from
non-GMT to GMT, when un-setting TZ. Set _timezone and _daylight even
if no DST is given in TZ.
2011-06-13 Eric Blake <eblake@redhat.com>
* libc/stdio/wsetup.c (__swsetup_r): Set errno on failure.

View File

@ -28,6 +28,8 @@ _DEFUN (_tzset_r, (reent_ptr),
_daylight = 0;
_tzname[0] = "GMT";
_tzname[1] = "GMT";
free(prev_tzenv);
prev_tzenv = NULL;
TZ_UNLOCK;
return;
}
@ -80,8 +82,10 @@ _DEFUN (_tzset_r, (reent_ptr),
tzenv += n;
if (sscanf (tzenv, "%10[^0-9,+-]%n", __tzname_dst, &n) <= 0)
{
{ /* No dst */
_tzname[1] = _tzname[0];
_timezone = tz->__tzrule[0].offset;
_daylight = 0;
TZ_UNLOCK;
return;
}