]> err.no Git - sope/commitdiff
improved text generator in some edge case
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Mon, 11 Jul 2005 15:49:27 +0000 (15:49 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Mon, 11 Jul 2005 15:49:27 +0000 (15:49 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@886 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-mime/ChangeLog
sope-mime/NGMime/ChangeLog
sope-mime/NGMime/NGMimeBodyGenerator.m
sope-mime/Version

index b1e9a5901d23a5590d9a527b159317495c018827..5e23813b043c21a3cacf6a7c67f75e2e6fe6f836 100644 (file)
@@ -1,5 +1,7 @@
 2005-07-11  Helge Hess  <helge.hess@opengroupware.org>
 
+       * NGMime: added a safeguard for some edge case (v4.5.224)
+
        * NGImap4: added NGImap4Connection, NGImap4ConnectionManager (v4.5.223)
 
 2005-07-07  Helge Hess  <helge.hess@opengroupware.org>
index 476641378a2ed281a42a305a1ad4a4de5d7eabe5..ad704b69738e1d44cdb55923eb2b8ec84250e868 100644 (file)
@@ -1,3 +1,8 @@
+2005-07-11  Helge Hess  <helge.hess@opengroupware.org>
+
+       * NGMimeBodyGenerator.m: improved reliability against invalid body
+         objects
+
 2005-04-24  Helge Hess  <helge.hess@opengroupware.org>
 
        * fixed gcc 4.0 warnings
index 9c687f11e48fc1dd8e1600902a72aefc33a5f79b..09310ed7db8b5a1188819bb95fb52d6393847cfa 100644 (file)
@@ -106,22 +106,25 @@ static BOOL debugOn = NO;
   id               body;
   
   encoding = [NSString defaultCStringEncoding];
-  body = [_part body];
+  body     = [_part body];
+  data     = nil;
   
   if ([body isKindOfClass:[NSString class]]) {
     // TODO: deal with charset in content-type!
     data = [body dataUsingEncoding:encoding];
   }
-  else
+  else if ([body respondsToSelector:@selector(bytes)])
     data = body;
-#if 0  
-  else {
-    NSLog(@"WARNING: textBodyGenerator expect that body is"
-          @" kind of class NSString");
+  else if ([body respondsToSelector:@selector(dataUsingEncoding:)])
+    data = [body dataUsingEncoding:encoding];
+  else if (body != nil) {
+    [self logWithFormat:@"ERROR: unexpected part body: %@", body];
+    return nil;
   }
-#endif  
+  
   if (data == nil) {
-    NSLog(@"WARNING(%s): generate empty body", __PRETTY_FUNCTION__);
+    [self logWithFormat:@"WARNING(%s): generate empty body",
+           __PRETTY_FUNCTION__];
     data = [NSData data];
   }
   return [self encodeData:data forPart:_part additionalHeaders:_addHeaders];
index bd3b377ce6bef7c6f359422df208a803c315de8a..ee8cc21f83ea5deb4058f4751b3648ac11fd4864 100644 (file)
@@ -2,7 +2,7 @@
 
 MAJOR_VERSION:=4
 MINOR_VERSION:=5
-SUBMINOR_VERSION:=223
+SUBMINOR_VERSION:=224
 
 # v4.5.214 requires libNGExtensions v4.5.146
 # v4.2.149 requires libNGStreams    v4.2.34