Monotone-Parent: 9d47c9cef3446d2779b6278f14667829a001d33e
Monotone-Revision: 4a6e1466c3b8ab939f8fea9f2c12a5873c724821 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-02-12T04:30:40 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
parent
d3f008b1c0
commit
c6812d8ad0
|
@ -1,5 +1,10 @@
|
||||||
2011-02-11 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
2011-02-11 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||||
|
|
||||||
|
* OpenChange/MAPIStoreMailMessageTable.m
|
||||||
|
(-getChildProperty:forKey:withTag:): return
|
||||||
|
MAPI_E_NOT_ENOUGH_MEMORY for values of PR_HTML or PR_BODY_UNICODE
|
||||||
|
that are larged than 16Kib (arbitrary limit).
|
||||||
|
|
||||||
* OpenChange/MAPIStoreCalendarMessageTable.m
|
* OpenChange/MAPIStoreCalendarMessageTable.m
|
||||||
(-sortIdentifierForProperty): added support for
|
(-sortIdentifierForProperty): added support for
|
||||||
PidLidAppointmentEndWhole and PidLidRecurring.
|
PidLidAppointmentEndWhole and PidLidRecurring.
|
||||||
|
|
|
@ -367,6 +367,15 @@ static EOQualifier *nonDeletedQualifier = nil;
|
||||||
stringValue = [[NSString alloc] initWithData: content
|
stringValue = [[NSString alloc] initWithData: content
|
||||||
encoding: NSISOLatin1StringEncoding];
|
encoding: NSISOLatin1StringEncoding];
|
||||||
*data = [stringValue asUnicodeInMemCtx: memCtx];
|
*data = [stringValue asUnicodeInMemCtx: memCtx];
|
||||||
|
if (strlen (*data) > 16384)
|
||||||
|
{
|
||||||
|
[context registerValue: stringValue
|
||||||
|
asProperty: propTag
|
||||||
|
forURL: [NSString stringWithFormat: @"%@%@", folderURL, childKey]];
|
||||||
|
*data = NULL;
|
||||||
|
rc = MAPI_E_NOT_ENOUGH_MEMORY;
|
||||||
|
[self logWithFormat: @"PR_BODY data too wide"];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
rc = MAPI_E_NOT_FOUND;
|
rc = MAPI_E_NOT_FOUND;
|
||||||
|
@ -409,7 +418,17 @@ static EOQualifier *nonDeletedQualifier = nil;
|
||||||
@"fetch"];
|
@"fetch"];
|
||||||
key = [[keys objectAtIndex: 0] objectForKey: @"key"];
|
key = [[keys objectAtIndex: 0] objectForKey: @"key"];
|
||||||
content = [[result objectForKey: key] objectForKey: @"data"];
|
content = [[result objectForKey: key] objectForKey: @"data"];
|
||||||
*data = [content asBinaryInMemCtx: memCtx];
|
if ([content length] > 16384)
|
||||||
|
{
|
||||||
|
[context registerValue: content
|
||||||
|
asProperty: propTag
|
||||||
|
forURL: [NSString stringWithFormat: @"%@%@", folderURL, childKey]];
|
||||||
|
*data = NULL;
|
||||||
|
rc = MAPI_E_NOT_ENOUGH_MEMORY;
|
||||||
|
[self logWithFormat: @"PR_HTML data too wide"];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
*data = [content asBinaryInMemCtx: memCtx];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -421,6 +440,7 @@ static EOQualifier *nonDeletedQualifier = nil;
|
||||||
|
|
||||||
/* We don't handle any RTF content. */
|
/* We don't handle any RTF content. */
|
||||||
case PR_RTF_COMPRESSED:
|
case PR_RTF_COMPRESSED:
|
||||||
|
*data = NULL;
|
||||||
rc = MAPI_E_NOT_FOUND;
|
rc = MAPI_E_NOT_FOUND;
|
||||||
break;
|
break;
|
||||||
case PR_RTF_IN_SYNC:
|
case PR_RTF_IN_SYNC:
|
||||||
|
|
Loading…
Reference in a new issue