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;