]> err.no Git - sope/commitdiff
improved subfolder traversal
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Thu, 3 Aug 2006 00:32:53 +0000 (00:32 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Thu, 3 Aug 2006 00:32:53 +0000 (00:32 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@1332 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-mime/ChangeLog
sope-mime/NGImap4/ChangeLog
sope-mime/NGImap4/NGImap4Connection.m
sope-mime/Version

index ed50135c7a8c02a3138863e2e78dbf318fd3ffbf..b57bfb48d89222a3913c11252486fdff2bff890f 100644 (file)
@@ -1,3 +1,7 @@
+2006-08-03  Wolfgang Sourdeau  <WSourdeau@Inverse.CA>
+
+       * NGImap4: improved subfolder handling (v4.5.242)
+       
 2006-07-04  Helge Hess  <helge.hess@opengroupware.org>
 
        * use %p for pointer formats, fixed gcc 4.1 warnings, use -isNotEmpty
index f1d86707f7162a63ad6ac50ed229cc12e111a247..f0e3f312af0964c60f1a5cc69408debb55f2a5ff 100644 (file)
@@ -1,3 +1,8 @@
+2006-08-03  Wolfgang Sourdeau  <WSourdeau@Inverse.CA>
+
+       * NGImap4Connection.m: check for \noinferiors flags when traversing
+         subfolders
+
 2005-12-13  Helge Hess  <helge.hess@opengroupware.org>
 
        * NGImap4ResponseParser.m: properly decode quoted-printable headers
index 239ec35d92698b063c2e5aef27273d601c1b681d..fb2a2c045bdecb76843d60fcb000bac89140a84d 100644 (file)
@@ -270,20 +270,31 @@ NSArray *SOGoMailGetDirectChildren(NSArray *_array, NSString *_fn) {
   /* Cyrus already tells us whether we need to check for children */
   flags = [result objectForKey:folderName];
   if ([flags containsObject:@"hasnochildren"]) {
-    if (debugKeys)
-      NSLog(@"%s: folder %@ has no children.", __PRETTY_FUNCTION__,folderName);
+    if (debugKeys) {
+      [self logWithFormat:@"%s: folder %@ has no children.", 
+             __PRETTY_FUNCTION__,folderName];
+    }
+    return nil;
+  }
+  if ([flags containsObject:@"noinferiors"]) {
+    if (debugKeys) {
+      [self logWithFormat:@"%s: folder %@ cannot contain children.", 
+             __PRETTY_FUNCTION__,folderName];
+    }
     return nil;
   }
   
   if (debugKeys) {
-    NSLog(@"%s: all keys %@: %@", __PRETTY_FUNCTION__, folderName, 
-         [[result allKeys] componentsJoinedByString:@", "]);
+    [self logWithFormat:@"%s: all keys %@: %@",
+         __PRETTY_FUNCTION__, folderName, 
+         [[result allKeys] componentsJoinedByString:@", "]];
   }
   
   names = SOGoMailGetDirectChildren([result allKeys], folderName);
   if (debugKeys) {
-    NSLog(@"%s: subfolders of '%@': %@", __PRETTY_FUNCTION__, folderName, 
-         [names componentsJoinedByString:@","]);
+    [self logWithFormat:
+           @"%s: subfolders of '%@': %@", __PRETTY_FUNCTION__, folderName, 
+           [names componentsJoinedByString:@","]];
   }
   return names;
 }
index e00f09c70d684be1ff9111324a8a649407d88bd1..5df6aefac71c162b0531b01583c2d11eeb54ceaf 100644 (file)
@@ -2,7 +2,7 @@
 
 MAJOR_VERSION:=4
 MINOR_VERSION:=5
-SUBMINOR_VERSION:=241
+SUBMINOR_VERSION:=242
 
 # v4.5.214 requires libNGExtensions v4.5.146
 # v4.2.149 requires libNGStreams    v4.2.34