]> err.no Git - sope/commitdiff
improved rrule parsing
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Tue, 14 Nov 2006 12:46:45 +0000 (12:46 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Tue, 14 Nov 2006 12:46:45 +0000 (12:46 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@1379 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-ical/NGiCal/ChangeLog
sope-ical/NGiCal/Version
sope-ical/NGiCal/iCalRecurrenceRule.m

index 9a889262896f2847992f24bfbbeef4d6ba306843..64d6b9377ac497fbab7a3dc1c1745c87546db1ef 100644 (file)
@@ -1,3 +1,8 @@
+2006-11-14  Helge Hess  <helge.hess@opengroupware.org>
+
+       * iCalRecurrenceRule.m: parse (but not process or store) 'bymonth'
+         rrules (v4.5.77)
+
 2006-08-03  Helge Hess  <helge.hess@opengroupware.org>
 
        * NGVCardSaxHandler.m: fixed a bug with returning parsing results.
index dbc6c2d3ca52d71ac25eb9ecd2adf90adaceae53..9e6d7a2fd62c6038b4f9e5a550df6cb731995823 100644 (file)
@@ -2,7 +2,7 @@
 
 MAJOR_VERSION=4
 MINOR_VERSION=5
-SUBMINOR_VERSION:=76
+SUBMINOR_VERSION:=77
 
 # v4.5.40 requires NGExtensions v4.5.145
 # v4.5.37 requires NGExtensions v4.5.140
index 5c12839971f40e5aadfbb383e02a0ffbe577807b..84d4eb97ec61bb501849a1e41b11c72f5ee58e08 100644 (file)
@@ -82,8 +82,8 @@
 
 - (void)dealloc {
   [self->byMonthDay release];
-  [self->untilDate release];
-  [self->rrule     release];
+  [self->untilDate  release];
+  [self->rrule      release];
   [super dealloc];
 }
 
   NSString *pCount     = nil;
   NSString *pByday     = nil;
   NSString *pBymday    = nil;
+  NSString *pBymonth   = nil;
   NSString *pBysetpos  = nil;
   NSString *pInterval  = nil;
   
       if ([key isEqualToString:@"byday"])      { vHolder = &pByday;    break; }
       if ([key isEqualToString:@"bymonthday"]) { vHolder = &pBymday;   break; }
       if ([key isEqualToString:@"bysetpos"])   { vHolder = &pBysetpos; break; }
+      if ([key isEqualToString:@"bymonth"])    { vHolder = &pBymonth;  break; }
       break;
     case 'c':
       if ([key isEqualToString:@"count"]) { vHolder = &pCount; break; }
   // TODO: we should parse byday in here
   if (pByday != nil) [self setByday:pByday];
   [pByday release]; pByday = nil;
-
+  
+  // TODO: we should process bymonth here
+  if (pBymonth != nil) {
+    /* eg this is used in Sunbird 0.3 timezone descriptions */
+    static BOOL didWarn = NO;
+    if (!didWarn) {
+      [self warnWithFormat:
+             @"not yet processing 'bymonth' fields of rrules: %@", _rrule];
+      didWarn = YES;
+    }
+    [pBymonth release]; pBymonth = nil;
+  }
+  
   if (pBymday != nil) {
     NSArray *t;