diff options
Diffstat (limited to 'addressbook')
-rw-r--r-- | addressbook/ChangeLog | 8 | ||||
-rw-r--r-- | addressbook/gui/merging/eab-contact-compare.c | 6 |
2 files changed, 11 insertions, 3 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog index 8e45354182..bf4a83f11c 100644 --- a/addressbook/ChangeLog +++ b/addressbook/ChangeLog @@ -1,3 +1,11 @@ +2004-02-17 Chris Toshok <toshok@ximian.com> + + [ fixes bug #53620 ] + + * gui/merging/eab-contact-compare.c (eab_contact_compare_name): "" + is a valid (and common) value for elements of EContactName now. + it's semantically equivalent to NULL in the old ECard foo. + 2004-02-12 Chris Toshok <toshok@ximian.com> * gui/component/addressbook-migrate.c (migrate_contacts): free up diff --git a/addressbook/gui/merging/eab-contact-compare.c b/addressbook/gui/merging/eab-contact-compare.c index ec80f12639..33a696261e 100644 --- a/addressbook/gui/merging/eab-contact-compare.c +++ b/addressbook/gui/merging/eab-contact-compare.c @@ -300,7 +300,7 @@ eab_contact_compare_name (EContact *contact1, EContact *contact2) if (a == NULL || b == NULL) return EAB_CONTACT_MATCH_NOT_APPLICABLE; - if (a->given && b->given) { + if (a->given && b->given && *a->given && *b->given) { ++possible; if (name_fragment_match_with_synonyms (a->given, b->given, FALSE /* both inputs are complete */)) { ++matches; @@ -308,7 +308,7 @@ eab_contact_compare_name (EContact *contact1, EContact *contact2) } } - if (a->additional && b->additional) { + if (a->additional && b->additional && *a->additional && *b->additional) { ++possible; if (name_fragment_match_with_synonyms (a->additional, b->additional, FALSE /* both inputs are complete */)) { ++matches; @@ -316,7 +316,7 @@ eab_contact_compare_name (EContact *contact1, EContact *contact2) } } - if (a->family && b->family) { + if (a->family && b->family && *a->family && *b->family) { ++possible; /* We don't allow "loose matching" (i.e. John vs. Jon) on family names */ if (! e_utf8_casefold_collate (a->family, b->family)) { |