From c686e3294d010b3f8af8ae4cb1b88d8970e4ff7f Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Mon, 17 Feb 2014 08:39:48 -0500 Subject: [PATCH] Added method to sanitize calendar "ServerId" --- ActiveSync/NSString+ActiveSync.h | 1 + ActiveSync/NSString+ActiveSync.m | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/ActiveSync/NSString+ActiveSync.h b/ActiveSync/NSString+ActiveSync.h index 735c6ffbc..71e3969fc 100644 --- a/ActiveSync/NSString+ActiveSync.h +++ b/ActiveSync/NSString+ActiveSync.h @@ -39,6 +39,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @interface NSString (ActiveSync) +- (NSString *) sanitizedServerIdWithType: (SOGoMicrosoftActiveSyncFolderType) folderType; - (NSString *) activeSyncRepresentation; - (int) activeSyncFolderType; - (NSString *) realCollectionIdWithFolderType: (SOGoMicrosoftActiveSyncFolderType *) folderType; diff --git a/ActiveSync/NSString+ActiveSync.m b/ActiveSync/NSString+ActiveSync.m index 27580b797..ebacc2100 100644 --- a/ActiveSync/NSString+ActiveSync.m +++ b/ActiveSync/NSString+ActiveSync.m @@ -40,6 +40,23 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @implementation NSString (ActiveSync) +- (NSString *) sanitizedServerIdWithType: (SOGoMicrosoftActiveSyncFolderType) folderType +{ + if (folderType == ActiveSyncEventFolder) + { + int len; + + len = [self length]; + + if (len > 4 && [self hasSuffix: @".ics"]) + return [self substringToIndex: len-4]; + else + return [NSString stringWithFormat: @"%@.ics", self]; + } + + return self; +} + - (NSString *) activeSyncRepresentation { NSString *s;