From cbce8a5e7f3ed406a50f3b0b42bfd56f3e3f6220 Mon Sep 17 00:00:00 2001 From: Emmanuel Gil Peyrot Date: Fri, 13 Sep 2019 00:19:53 +0200 Subject: [PATCH] Fix avatar retrieval. --- src/avatar.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/avatar.rs b/src/avatar.rs index 4c6e588c06429f686f4b6644b814d1797d7ae7a3..1b95b762c40e31a66f1f0d90129e6f182c42567b 100644 --- a/src/avatar.rs +++ b/src/avatar.rs @@ -40,9 +40,12 @@ pub(crate) fn handle_metadata_pubsub_event(from: &Jid, tx: &mut mpsc::UnboundedS let metadata = Metadata::try_from(payload).unwrap(); for info in metadata.infos { let filename = format!("data/{}/{}", from, hash_to_hex(&*info.id)); - let metadata = fs::metadata(filename.clone()).unwrap(); + let file_length = match fs::metadata(filename.clone()) { + Ok(metadata) => metadata.len(), + Err(_) => 0, + }; // TODO: Also check the hash. - if info.bytes as u64 == metadata.len() { + if info.bytes as u64 == file_length { events.push(Event::AvatarRetrieved(from.clone(), filename)); } else { let iq = download_avatar(from);