Skip to content

Commit 11a9172

Browse files
committed
fingerprint contacts may have empty address
1 parent 9f567e3 commit 11a9172

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/contact.rs

+7-4
Original file line numberDiff line numberDiff line change
@@ -901,7 +901,10 @@ impl Contact {
901901
) -> Result<(ContactId, Modifier)> {
902902
let mut sth_modified = Modifier::None;
903903

904-
ensure!(!addr.is_empty(), "Can not add_or_lookup empty address");
904+
ensure!(
905+
!addr.is_empty() || !fingerprint.is_empty(),
906+
"Can not add_or_lookup empty address"
907+
);
905908
ensure!(origin != Origin::Unknown, "Missing valid origin");
906909

907910
if context.is_self_addr(addr).await? {
@@ -944,9 +947,9 @@ impl Contact {
944947
.query_row(
945948
"SELECT id, name, addr, origin, authname
946949
FROM contacts
947-
WHERE addr=? COLLATE NOCASE
948-
AND fingerprint=?",
949-
(addr, fingerprint),
950+
WHERE (?1<>'' AND fingerprint=?1)
951+
OR (?1='' AND addr=?2 COLLATE NOCASE)",
952+
(fingerprint, addr),
950953
|row| {
951954
let row_id: u32 = row.get(0)?;
952955
let row_name: String = row.get(1)?;

0 commit comments

Comments
 (0)