merge of '1cd838ed13a348bd50dcdf6b2b52e78181132984'

and 'b3b6f425c01979bb9afdf39c7034dfd2131f4dd3'

Monotone-Parent: 1cd838ed13a348bd50dcdf6b2b52e78181132984
Monotone-Parent: b3b6f425c01979bb9afdf39c7034dfd2131f4dd3
Monotone-Revision: db14b32273f5bbb7059d1ab709579782acd5d82c

Monotone-Author: ludovic@Sophos.ca
Monotone-Date: 2008-08-29T01:13:22
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Ludovic Marcotte
2008-08-29 01:13:22 +00:00
+36 -12
View File
@@ -1004,6 +1004,15 @@ Index: sope-mime/NGMail/NGMailAddressParser.m
int length = 0; // token text length
BOOL done = NO;
@@ -94,7 +94,7 @@
done = YES;
}
else {
- register unsigned char c = self->data[self->dataPos];
+ register unichar c = self->data[self->dataPos];
switch (c) {
case '(' : case ')': case '<': case '>':
@@ -162,7 +162,7 @@
int keepPos = self->dataPos; // keep reference for backtracking
id returnValue = nil;
@@ -1013,6 +1022,18 @@ Index: sope-mime/NGMail/NGMailAddressParser.m
int length = 0; // token text length
BOOL done = YES;
@@ -172,9 +172,9 @@
done = YES;
}
else {
- register char c = self->data[self->dataPos];
+ register unichar c = self->data[self->dataPos];
- switch ((int)c) {
+ switch (c) {
case '"' :
case '\\':
case 13 :
@@ -215,7 +215,7 @@
int keepPos = self->dataPos; // keep reference for backtracking
id returnValue = nil;
@@ -1022,6 +1043,18 @@ Index: sope-mime/NGMail/NGMailAddressParser.m
int length = 0; // token text length
BOOL done = YES;
@@ -225,9 +225,9 @@
done = YES;
}
else {
- register char c = self->data[self->dataPos];
+ register unichar c = self->data[self->dataPos];
- switch ((int)c) {
+ switch (c) {
case '[': case ']':
case '\\': case 13:
isDText = (length > 0);
@@ -320,42 +320,47 @@
/* constructors */
@@ -1619,26 +1652,17 @@ Index: sope-mime/NGMime/NGMimeAddressHeaderFieldGenerator.m
===================================================================
--- sope-mime/NGMime/NGMimeAddressHeaderFieldGenerator.m (révision 1626)
+++ sope-mime/NGMime/NGMimeAddressHeaderFieldGenerator.m (copie de travail)
@@ -93,7 +93,7 @@
while ((obj = [enumerator nextObject]) != nil) {
NSString *tmp;
- char *buffer;
+ unichar *buffer;
unsigned bufLen, cnt;
BOOL doEnc;
@@ -105,10 +105,10 @@
}
tmp = [obj displayName];
- bufLen = [tmp cStringLength];
+ bufLen = [tmp length];
+ bufLen = [tmp lengthOfBytesUsingEncoding: NSUTF8StringEncoding];
- buffer = calloc(bufLen + 10, sizeof(char));
- [tmp getCString:buffer];
+ buffer = calloc(bufLen, sizeof(unichar));
+ [tmp getCharacters:buffer];
+ buffer = calloc(bufLen, sizeof(char));
+ [tmp getCString: buffer maxLength: bufLen encoding: NSUTF8StringEncoding];
cnt = 0;
doEnc = NO;