From b11123d15698de3d36b48ba425b684ea79dbdf5a Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Tue, 7 Aug 2007 21:18:10 +0000 Subject: [PATCH] Monotone-Parent: 0613d5a0b9ee77c32c00b122ce008698e034be9c Monotone-Revision: 53c362ab89243a59da15d541f8c19d708447e107 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-08-07T21:18:10 Monotone-Branch: ca.inverse.sogo --- SOPE/NGCards/ChangeLog | 8 +++++ SOPE/NGCards/iCalRecurrenceRule.m | 53 ++++++++++++++++++------------- 2 files changed, 39 insertions(+), 22 deletions(-) diff --git a/SOPE/NGCards/ChangeLog b/SOPE/NGCards/ChangeLog index 4c9b634b0..679c350ae 100644 --- a/SOPE/NGCards/ChangeLog +++ b/SOPE/NGCards/ChangeLog @@ -1,3 +1,11 @@ +2007-08-07 Wolfgang Sourdeau + + * iCalRecurrenceRule.m ([iCalRecurrenceRule + -valueForFrequency:value]): returns NSNotFound whenever the + frequency text has a length of 0. + ([iCalRecurrenceRule -byDayMask]): return an empty mask whenever + the "byday" value has a length of 0. + 2007-02-12 Helge Hess * iCalMonthlyRecurrenceCalculator.m: fixed byday calculation for days diff --git a/SOPE/NGCards/iCalRecurrenceRule.m b/SOPE/NGCards/iCalRecurrenceRule.m index fe66f48cc..ea981406f 100644 --- a/SOPE/NGCards/iCalRecurrenceRule.m +++ b/SOPE/NGCards/iCalRecurrenceRule.m @@ -119,21 +119,26 @@ NSString *frequency; iCalRecurrenceFrequency freq; - frequency = [value uppercaseString]; - if ([frequency isEqualToString:@"WEEKLY"]) - freq = iCalRecurrenceFrequenceWeekly; - else if ([frequency isEqualToString:@"MONTHLY"]) - freq = iCalRecurrenceFrequenceMonthly; - else if ([frequency isEqualToString:@"DAILY"]) - freq = iCalRecurrenceFrequenceDaily; - else if ([frequency isEqualToString:@"YEARLY"]) - freq = iCalRecurrenceFrequenceYearly; - else if ([frequency isEqualToString:@"HOURLY"]) - freq = iCalRecurrenceFrequenceHourly; - else if ([frequency isEqualToString:@"MINUTELY"]) - freq = iCalRecurrenceFrequenceMinutely; - else if ([frequency isEqualToString:@"SECONDLY"]) - freq = iCalRecurrenceFrequenceSecondly; + if ([value length] > 0) + { + frequency = [value uppercaseString]; + if ([frequency isEqualToString:@"WEEKLY"]) + freq = iCalRecurrenceFrequenceWeekly; + else if ([frequency isEqualToString:@"MONTHLY"]) + freq = iCalRecurrenceFrequenceMonthly; + else if ([frequency isEqualToString:@"DAILY"]) + freq = iCalRecurrenceFrequenceDaily; + else if ([frequency isEqualToString:@"YEARLY"]) + freq = iCalRecurrenceFrequenceYearly; + else if ([frequency isEqualToString:@"HOURLY"]) + freq = iCalRecurrenceFrequenceHourly; + else if ([frequency isEqualToString:@"MINUTELY"]) + freq = iCalRecurrenceFrequenceMinutely; + else if ([frequency isEqualToString:@"SECONDLY"]) + freq = iCalRecurrenceFrequenceSecondly; + else + freq = NSNotFound; + } else freq = NSNotFound; @@ -279,17 +284,21 @@ { NSArray *days; unsigned int mask, count, max; - NSString *day; + NSString *day, *value; mask = 0; - days = [[self namedValue: @"byday"] componentsSeparatedByString: @","]; - max = [days count]; - for (count = 0; count < max; count++) + value = [self namedValue: @"byday"]; + if ([value length] > 0) { - day = [days objectAtIndex: count]; - day = [day substringFromIndex: [day length] - 2]; - mask |= [self weekDayFromICalRepresentation: day]; + days = [value componentsSeparatedByString: @","]; + max = [days count]; + for (count = 0; count < max; count++) + { + day = [days objectAtIndex: count]; + day = [day substringFromIndex: [day length] - 2]; + mask |= [self weekDayFromICalRepresentation: day]; + } } return mask;