mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-04-04 21:08:51 +00:00
(fix) encore CR for EAS (fixes #3626)
This commit is contained in:
@@ -62,7 +62,7 @@ static NSArray *easCommandParameters = nil;
|
||||
|
||||
- (NSString *) activeSyncRepresentationInContext: (WOContext *) context
|
||||
{
|
||||
return [self safeStringByEscapingXMLString];
|
||||
return [self safeStringByEscapingXMLString: YES];
|
||||
}
|
||||
|
||||
- (int) activeSyncFolderType
|
||||
|
||||
@@ -55,6 +55,7 @@
|
||||
/* Unicode safety */
|
||||
- (NSString *) safeString;
|
||||
- (NSString *) safeStringByEscapingXMLString;
|
||||
- (NSString *) safeStringByEscapingXMLString: (BOOL) encodeCR;
|
||||
|
||||
/* JSON */
|
||||
- (NSString *) jsonRepresentation;
|
||||
|
||||
@@ -319,7 +319,10 @@ static int cssEscapingCount;
|
||||
return AUTORELEASE(s);
|
||||
}
|
||||
|
||||
|
||||
- (NSString *) safeStringByEscapingXMLString
|
||||
{
|
||||
return [self safeStringByEscapingXMLString: NO];
|
||||
}
|
||||
//
|
||||
// This is a copy from NSString+XMLEscaping.m from SOPE.
|
||||
// The difference here is that we use wchar_t instead of unichar.
|
||||
@@ -330,7 +333,8 @@ static int cssEscapingCount;
|
||||
// We avoid naming it like the one in SOPE since if the ActiveSync
|
||||
// bundle is loaded, it'll overwrite the one provided by SOPE.
|
||||
//
|
||||
- (NSString *) safeStringByEscapingXMLString {
|
||||
- (NSString *) safeStringByEscapingXMLString: (BOOL) encoreCR
|
||||
{
|
||||
register unsigned i, len, j;
|
||||
register wchar_t *buf;
|
||||
const wchar_t *chars;
|
||||
@@ -379,7 +383,13 @@ static int cssEscapingCount;
|
||||
buf[j] = '&'; j++; buf[j] = 'g'; j++; buf[j] = 't'; j++;
|
||||
buf[j] = ';'; j++;
|
||||
break;
|
||||
|
||||
case '\r':
|
||||
if (encoreCR) // falls back to default if we don't encode
|
||||
{
|
||||
buf[j] = '&'; j++; buf[j] = '#'; j++; buf[j] = '1'; j++;
|
||||
buf[j] = '3'; j++; buf[j] = ';'; j++;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
/* escape big chars */
|
||||
if (chars[i] > 127) {
|
||||
|
||||
Reference in New Issue
Block a user