sort the timezone periods chronologically, in reverse order, to ensure that the most recent valid one is used

pull/2/merge
Wolfgang Sourdeau 2012-10-20 13:28:31 -04:00
parent 948bafd2bf
commit 5c9298febf
1 changed files with 10 additions and 14 deletions

View File

@ -196,22 +196,18 @@ static NSArray *knownTimeZones;
NSArray *periods;
NSEnumerator *periodsList;
iCalTimeZonePeriod *period;
NSCalendarDate *occurence;
NSCalendarDate *occurrence;
occurence = nil;
periods = [self childrenWithTag: pName];
if ([periods count])
{
periodsList = [periods objectEnumerator];
period = (iCalTimeZonePeriod *) [periodsList nextObject];
while (occurence == nil && period)
{
occurence = [period occurenceForDate: aDate];
period = (iCalTimeZonePeriod *) [periodsList nextObject];
}
}
occurrence = nil;
return occurence;
periods = [[self childrenWithTag: pName]
sortedArrayUsingSelector: @selector (compare:)];
periodsList = [periods reverseObjectEnumerator];
while (!occurrence
&& (period = (iCalTimeZonePeriod *) [periodsList nextObject]))
occurrence = [period occurrenceForDate: aDate];
return occurrence;
}
- (iCalTimeZonePeriod *) periodForDate: (NSCalendarDate *) date