Monotone-Parent: a0db3f538581c7b491b49f0e21b754544b33477b

Monotone-Revision: a8160f433740ec8b2a14452d63e845319427b8a9

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2007-10-25T15:26:54
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2007-10-25 15:26:54 +00:00
parent ec5b15c2bb
commit 0b7a73dc68
2 changed files with 21 additions and 25 deletions
+4
View File
@@ -1,5 +1,9 @@
2007-10-25 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/Mailer/SOGoMailObject.m ([SOGoMailObject
-stringForData:_datapartInfo:_info]): simplified by invoking
-bodyDataFromEncoding: from our new NSData category methods.
* SoObjects/Mailer/SOGoDraftObject.m ([SOGoDraftObject
-fetchMailForEditing:sourceMail]): work-around a bug in SOPE-mime
where only the body part of the first of the keys fetched was
+17 -25
View File
@@ -31,10 +31,8 @@
#import <NGObjWeb/WOContext+SoObjects.h>
#import <NGObjWeb/WOResponse.h>
#import <NGObjWeb/NSException+HTTP.h>
#import <NGExtensions/NGBase64Coding.h>
#import <NGExtensions/NSNull+misc.h>
#import <NGExtensions/NSObject+Logs.h>
#import <NGExtensions/NGQuotedPrintableCoding.h>
#import <NGExtensions/NSString+Encoding.h>
#import <NGExtensions/NSString+misc.h>
#import <NGImap4/NGImap4Connection.h>
@@ -44,6 +42,8 @@
#import <SoObjects/SOGo/SOGoPermissions.h>
#import <SoObjects/SOGo/SOGoUser.h>
#import "NSData+Mail.h"
#import "SOGoMailFolder.h"
#import "SOGoMailAccount.h"
#import "SOGoMailManager.h"
@@ -619,37 +619,29 @@ static BOOL debugSoParts = NO;
}
/* convert parts to strings */
- (NSString *) stringForData: (NSData *) _data
partInfo: (NSDictionary *) _info
{
NSString *charset, *encoding, *s;
NSString *charset, *s;
NSData *mailData;
if (![_data isNotNull])
return nil;
s = nil;
encoding = [[_info objectForKey: @"encoding"] lowercaseString];
if ([encoding isEqualToString: @"7bit"]
|| [encoding isEqualToString: @"8bit"])
mailData = _data;
else if ([encoding isEqualToString: @"base64"])
mailData = [_data dataByDecodingBase64];
else if ([encoding isEqualToString: @"quoted-printable"])
mailData = [_data dataByDecodingQuotedPrintable];
charset = [[_info valueForKey: @"parameterList"] valueForKey: @"charset"];
if (![charset length])
if ([_data isNotNull])
{
s = [[NSString alloc] initWithData:mailData encoding:NSUTF8StringEncoding];
[s autorelease];
mailData
= [_data bodyDataFromEncoding: [_info objectForKey: @"encoding"]];
charset = [[_info valueForKey: @"parameterList"] valueForKey: @"charset"];
if (![charset length])
{
s = [[NSString alloc] initWithData: mailData encoding: NSUTF8StringEncoding];
[s autorelease];
}
else
s = [NSString stringWithData: mailData
usingEncodingNamed: charset];
}
else
s = [NSString stringWithData: mailData
usingEncodingNamed: charset];
s = nil;
return s;
}