Avoid calls on null objects

Fixes #4329
pull/218/merge
Francis Lachapelle 2017-11-08 16:24:26 -05:00
parent 650faa4d22
commit 38d4a26827
2 changed files with 22 additions and 18 deletions

View File

@ -193,24 +193,27 @@ convention:
NSEnumerator *list;
CardElement *element;
// value is either an array or a string
if ([value isKindOfClass: [NSString class]])
allValues = [NSArray arrayWithObject: value];
else
allValues = value;
// Add all values as separate elements
list = [allValues objectEnumerator];
while ((value = [list nextObject]))
if ([value isNotNull])
{
if ([type length])
element = [CardElement simpleElementWithTag: elementTag
singleType: type
value: value];
// value is either an array or a string
if ([value isKindOfClass: [NSString class]])
allValues = [NSArray arrayWithObject: value];
else
element = [CardElement simpleElementWithTag: elementTag
value: value];
[self addChild: element];
allValues = value;
// Add all values as separate elements
list = [allValues objectEnumerator];
while ((value = [list nextObject]))
{
if ([type length])
element = [CardElement simpleElementWithTag: elementTag
singleType: type
value: value];
else
element = [CardElement simpleElementWithTag: elementTag
value: value];
[self addChild: element];
}
}
}
@ -380,7 +383,7 @@ convention:
o = [ldifRecord objectForKey: @"description"];
if ([o isKindOfClass: [NSArray class]])
[self setNotes: o];
else
else if ([o isNotNull])
[self setNote: o];
o = [ldifRecord objectForKey: @"vcardcategories"];
@ -389,7 +392,7 @@ convention:
// string (from a LDIF import) as the value here.
if ([o isKindOfClass: [NSArray class]])
[self setCategories: o];
else
else if ([o isNotNull])
[self setCategories: [o componentsSeparatedByString: @","]];
// Photo

View File

@ -521,6 +521,7 @@
for (i = 0; i < [_mailFields count]; i++)
if ((s = [response objectForKey: [_mailFields objectAtIndex: i]]) &&
[s isNotNull] &&
[[s stringByTrimmingSpaces] length] > 0)
[emails addObjectsFromArray: [s componentsSeparatedByString: @" "]];
}