Monotone-Parent: 633db895fe1d25a8339861d7d55a062abc56205f

Monotone-Revision: d62034b3292612b00d95300def78e7bfff8f05eb

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2007-11-05T22:41:48
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2007-11-05 22:41:48 +00:00
parent 3505969b3e
commit 0581af1a45
2 changed files with 65 additions and 4 deletions
+60 -4
View File
@@ -34,18 +34,74 @@
#import "UIxMailPartTextViewer.h"
@interface NSString (SOGoMailUIExtension)
- (NSString *) stringByConvertingCRLNToHTML;
@end
@implementation NSString (SOGoMailUIExtension)
- (NSString *) stringByConvertingCRLNToHTML
{
NSString *convertedString;
const char *oldString, *currentChar;
char *newString, *destChar;
unsigned int oldLength, length, delta;
oldString = [self cStringUsingEncoding: NSUTF8StringEncoding];
oldLength = [self lengthOfBytesUsingEncoding: NSUTF8StringEncoding];
length = oldLength;
newString = malloc (length + 500);
destChar = newString;
currentChar = oldString;
while (currentChar < (oldString + oldLength))
{
if (*currentChar != '\r')
{
if (*currentChar == '\n')
{
strcpy (destChar, "<br />");
destChar += 6;
delta = (destChar - newString);
if (delta > length)
{
length += 500;
newString = realloc (newString, length + 500);
destChar = newString + delta;
}
}
else
{
*destChar = *currentChar;
destChar++;
}
}
currentChar++;
}
*destChar = 0;
convertedString = [[NSString alloc] initWithBytes: newString
length: (destChar + 1 - newString)
encoding: NSUTF8StringEncoding];
[convertedString autorelease];
free (newString);
return convertedString;
}
@end
@implementation UIxMailPartTextViewer
- (NSString *) flatContentAsString
{
NSMutableString *content;
NSString *superContent;
content = [NSMutableString string];
superContent = [[super flatContentAsString] stringByEscapingHTMLString];
[content appendString: [superContent stringByDetectingURLs]];
return content;
return [[superContent stringByDetectingURLs] stringByConvertingCRLNToHTML];
}
@end /* UIxMailPartTextViewer */