fix(calendar(dav)): check if group member is empty

pull/289/head
Francis Lachapelle 2020-09-24 14:12:31 -04:00
parent 1bec216ce6
commit 9150bdd768
1 changed files with 12 additions and 7 deletions

View File

@ -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: @"</"];
}
@ -203,8 +209,7 @@
folders = [[self lookupUserFolder] lookupName: @"Calendar"
inContext: context
acquire: NO];
oldProxySubscribers
= [folders proxySubscribersWithWriteAccess: hasWriteAccess];
oldProxySubscribers = [folders proxySubscribersWithWriteAccess: hasWriteAccess];
if (!oldProxySubscribers)
oldProxySubscribers = [NSMutableArray array];
newProxySubscribers = [self _parseSubscribers: memberSet];