* time/tzfile.c (__tzfile_read): Handle the case where there are

transitions but no DST.
1999-03-20  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* time/tzfile.c (__tzfile_read): Handle the case where there are
	transitions but no DST.
This commit is contained in:
Andreas Schwab 1999-03-20 17:04:42 +00:00
parent e10cd1dc6a
commit d16e36e0dc
2 changed files with 19 additions and 5 deletions

View File

@ -1,3 +1,8 @@
1999-03-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* time/tzfile.c (__tzfile_read): Handle the case where there are
transitions but no DST.
1999-03-20 Roland McGrath <roland@baalperazim.frob.com>
* mach/Machrules (extra-libs-others): Add $(interface-library) here

View File

@ -311,16 +311,25 @@ __tzfile_read (const char *file)
rule_stdoff = rule_dstoff = types[0].offset;
else
{
int stdoff_set = 0, dstoff_set = 0;
rule_stdoff = rule_dstoff = 0;
for (i = 0; i < num_transitions; ++i)
{
if (!rule_stdoff && !types[type_idxs[i]].isdst)
rule_stdoff = types[type_idxs[i]].offset;
if (!rule_dstoff && types[type_idxs[i]].isdst)
rule_dstoff = types[type_idxs[i]].offset;
if (rule_stdoff && rule_dstoff)
if (!stdoff_set && !types[type_idxs[i]].isdst)
{
stdoff_set = 1;
rule_stdoff = types[type_idxs[i]].offset;
}
if (!dstoff_set && types[type_idxs[i]].isdst)
{
dstoff_set = 1;
rule_dstoff = types[type_idxs[i]].offset;
}
if (stdoff_set && dstoff_set)
break;
}
if (!dstoff_set)
rule_dstoff = rule_stdoff;
}
__daylight = rule_stdoff != rule_dstoff;