]> err.no Git - sope/blobdiff - sope-ical/NGiCal/iCalRecurrenceRule.m
some cycle improvs
[sope] / sope-ical / NGiCal / iCalRecurrenceRule.m
index a8aaec0449083c210a77a16f26f0e00aae5ea0e9..15f6e700e5fde11b7c45fc64280787c5fb236507 100644 (file)
   NSString *pByday     = nil;
   NSString *pBymday    = nil;
   NSString *pBysetpos  = nil;
+  NSString *pInterval  = nil;
   
   props = [_rrule componentsSeparatedByString:@";"];
   for (i = 0, count = [props count]; i < count; i++) {
     case 'f':
       if ([key isEqualToString:@"freq"]) { vHolder = &pFrequency; break; }
       break;
+    case 'i':
+      if ([key isEqualToString:@"interval"]) { vHolder = &pInterval; break; }
+      break;
     case 'u':
       if ([key isEqualToString:@"until"]) { vHolder = &pUntil; break; }
       break;
     [self errorWithFormat:@"rrule contains no frequency: '%@'", _rrule];
   [pFrequency release]; pFrequency = nil;
   
+  if (pInterval != nil)
+    self->interval = [pInterval intValue];
+  [pInterval release]; pInterval = nil;
+  
   // TODO: we should parse byday in here
   if (pByday != nil) [self setByday:pByday];
   [pByday release]; pByday = nil;
          UTC time format."
       TODO: we still need some object representing a 'timeless' date.
     */
-    if (![pUntil hasSuffix:@"Z"]) {
+    if (![pUntil hasSuffix:@"Z"] && [pUntil length] > 8) {
       [self warnWithFormat:@"'until' date has no explicit UTC marker: '%@'",
               _rrule];
     }