From bbae929c4f6c3f3a77ab78f489628d3303d0ccc8 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Tue, 15 May 2007 03:23:15 +0000 Subject: [PATCH] Monotone-Parent: cf8c187bd6389eaf744f04cbf46806573f18fc89 Monotone-Revision: 657b65bbc6a703b12a62acd946bafae499c520b1 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-05-15T03:23:15 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 5 +++++ SoObjects/Mailer/SOGoDraftObject.m | 25 +++++++++---------------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/ChangeLog b/ChangeLog index b5f3762bd..9c1229d3a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2007-05-14 Wolfgang Sourdeau + * SoObjects/Mailer/SOGoDraftObject.m ([NSString + -asQPSubjectString:encoding]): simplified method. + The headers indicates "utf-8" again thank to our fix in + sope-mime. + * SoObjects/SOGo/SOGoObject.m: fail to build if libFoundation is being used. diff --git a/SoObjects/Mailer/SOGoDraftObject.m b/SoObjects/Mailer/SOGoDraftObject.m index c8791ed5b..fb871988c 100644 --- a/SoObjects/Mailer/SOGoDraftObject.m +++ b/SoObjects/Mailer/SOGoDraftObject.m @@ -35,7 +35,7 @@ #include #include "common.h" -static NSString *contentTypeValue = @"text/plain; charset=iso-8859-1"; +static NSString *contentTypeValue = @"text/plain; charset=utf-8"; @interface NSString (NGMimeHelpers) @@ -48,23 +48,16 @@ static NSString *contentTypeValue = @"text/plain; charset=iso-8859-1"; - (NSString *) asQPSubjectString: (NSString *) encoding; { NSString *qpString; - unsigned char *data, *dest; - unsigned int dataLen, destLen; + NSData *subjectData, *destSubjectData; - dataLen = [self length]; - data = calloc(dataLen, sizeof (unsigned char*)); - [self getCString: (char *) data]; + subjectData = [self dataUsingEncoding: NSUTF8StringEncoding]; + destSubjectData = [subjectData dataByEncodingQuotedPrintable]; - destLen = dataLen * 3; - dest = calloc(dataLen * 3, sizeof (unsigned char*)); - NGEncodeQuotedPrintableMime (data, dataLen, dest, destLen); + qpString = [[NSString alloc] initWithData: destSubjectData + encoding: NSASCIIStringEncoding]; + [qpString autorelease]; - qpString = [NSString stringWithFormat: @"=?%@?Q?%s?=", encoding, dest]; - - free (data); - free (dest); - - return qpString; + return [NSString stringWithFormat: @"=?%@?Q?%@?=", encoding, qpString]; } @end @@ -659,7 +652,7 @@ static NSString *fromInternetSuffixPattern = nil; /* add subject */ if ([(s = [lInfo objectForKey:@"subject"]) length] > 0) - [map setObject: [s asQPSubjectString: @"iso-8859-1"] + [map setObject: [s asQPSubjectString: @"utf-8"] forKey:@"subject"]; // [map setObject: [s asQPSubjectString: @"utf-8"] forKey:@"subject"];