From 9150bdd768bc1ba7ef118d66c922ea7b1dc0e57d Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Thu, 24 Sep 2020 14:12:31 -0400 Subject: [PATCH] fix(calendar(dav)): check if group member is empty --- SoObjects/Appointments/SOGoCalendarProxy.m | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/SoObjects/Appointments/SOGoCalendarProxy.m b/SoObjects/Appointments/SOGoCalendarProxy.m index 0263e6eef..725582fd8 100644 --- a/SoObjects/Appointments/SOGoCalendarProxy.m +++ b/SoObjects/Appointments/SOGoCalendarProxy.m @@ -158,16 +158,22 @@ { int begin, end; NSRange beginRange; + NSString *subscriber; + subscriber = nil; end = length; if ([memberSet characterAtIndex: end - 1] == '/') end--; beginRange = [memberSet rangeOfString: @"/" options: NSBackwardsSearch range: NSMakeRange (0, end)]; - begin = NSMaxRange (beginRange); + if (beginRange.location != NSNotFound) + { + begin = NSMaxRange (beginRange); + subscriber = [memberSet substringWithRange: NSMakeRange (begin, end - begin)]; + } - return [memberSet substringWithRange: NSMakeRange (begin, end - begin)]; + return subscriber; } - (NSArray *) _parseSubscribers: (NSString *) memberSet @@ -185,9 +191,9 @@ { subscriber = [self _parseSubscriber: mMemberSet until: endRange.location]; - [subscribers addObjectUniquely: subscriber]; - [mMemberSet - deleteCharactersInRange: NSMakeRange (0, endRange.location + 1)]; + if (subscriber) + [subscribers addObjectUniquely: subscriber]; + [mMemberSet deleteCharactersInRange: NSMakeRange (0, endRange.location + 1)]; endRange = [mMemberSet rangeOfString: @"