Monotone-Parent: 7a136da813c9771632c72c06589d2cb6383ef052

Monotone-Revision: 748bc1fd6d5c867c7b2b4da7574602b322a35fa5

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2010-08-26T20:45:23
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2010-08-26 20:45:23 +00:00
parent 1c5be3fbe6
commit c380057b28
2 changed files with 19 additions and 2 deletions

View File

@ -1,5 +1,10 @@
2010-08-26 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/SOGo/NSString+Utilities.m (-asQPSubjectString:): we
use "NGEncodeQuotedPrintableMime" instead of
"dataByEncodingQuotedPrintable" (NGQuotedPrintableCoding), as it's
more suited for email header fields.
* SoObjects/Mailer/SOGoDraftObject.m (_quoteSpecials:): now work
on single strings.
(_quoteSpecialsInArray:): new method that offers the same

View File

@ -22,14 +22,15 @@
#import <Foundation/NSArray.h>
#import <Foundation/NSCharacterSet.h>
#import <Foundation/NSData.h>
#import <Foundation/NSEnumerator.h>
#import <Foundation/NSValue.h>
#import <EOControl/EOQualifier.h>
#import <NGExtensions/NSDictionary+misc.h>
#import <NGExtensions/NGQuotedPrintableCoding.h>
#import <NGMime/NGMimeHeaderFieldGenerator.h>
#import "NSArray+Utilities.h"
#import "NSDictionary+BSJSONAdditions.h"
#import "NSDictionary+URL.h"
@ -392,10 +393,21 @@ static int cssEscapingCount;
{
NSString *qpString, *subjectString;
NSData *subjectData, *destSubjectData;
NSUInteger length, destLength;
unsigned char *destString;
#warning "encoding" parameter is not useful
subjectData = [self dataUsingEncoding: NSUTF8StringEncoding];
destSubjectData = [subjectData dataByEncodingQuotedPrintable];
length = [subjectData length];
destLength = length * 3;
destString = calloc (destLength, sizeof (char));
NGEncodeQuotedPrintableMime ([subjectData bytes], length,
destString, destLength);
destSubjectData = [NSData dataWithBytesNoCopy: destString
length: strlen ((char *) destString)
freeWhenDone: YES];
qpString = [[NSString alloc] initWithData: destSubjectData
encoding: NSASCIIStringEncoding];
[qpString autorelease];