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

pull/284/head^2
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; int begin, end;
NSRange beginRange; NSRange beginRange;
NSString *subscriber;
subscriber = nil;
end = length; end = length;
if ([memberSet characterAtIndex: end - 1] == '/') if ([memberSet characterAtIndex: end - 1] == '/')
end--; end--;
beginRange = [memberSet rangeOfString: @"/" beginRange = [memberSet rangeOfString: @"/"
options: NSBackwardsSearch options: NSBackwardsSearch
range: NSMakeRange (0, end)]; 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 - (NSArray *) _parseSubscribers: (NSString *) memberSet
@ -185,9 +191,9 @@
{ {
subscriber = [self _parseSubscriber: mMemberSet subscriber = [self _parseSubscriber: mMemberSet
until: endRange.location]; until: endRange.location];
[subscribers addObjectUniquely: subscriber]; if (subscriber)
[mMemberSet [subscribers addObjectUniquely: subscriber];
deleteCharactersInRange: NSMakeRange (0, endRange.location + 1)]; [mMemberSet deleteCharactersInRange: NSMakeRange (0, endRange.location + 1)];
endRange = [mMemberSet rangeOfString: @"</"]; endRange = [mMemberSet rangeOfString: @"</"];
} }
@ -203,8 +209,7 @@
folders = [[self lookupUserFolder] lookupName: @"Calendar" folders = [[self lookupUserFolder] lookupName: @"Calendar"
inContext: context inContext: context
acquire: NO]; acquire: NO];
oldProxySubscribers oldProxySubscribers = [folders proxySubscribersWithWriteAccess: hasWriteAccess];
= [folders proxySubscribersWithWriteAccess: hasWriteAccess];
if (!oldProxySubscribers) if (!oldProxySubscribers)
oldProxySubscribers = [NSMutableArray array]; oldProxySubscribers = [NSMutableArray array];
newProxySubscribers = [self _parseSubscribers: memberSet]; newProxySubscribers = [self _parseSubscribers: memberSet];