From 813addfa1d744ee195f3cd2dd6ccec40b9c8f154 Mon Sep 17 00:00:00 2001 From: dignifiedquire Date: Wed, 15 May 2019 12:51:31 +0200 Subject: [PATCH] fix(peerstate): equality checks are tricky --- src/dc_apeerstate.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/dc_apeerstate.rs b/src/dc_apeerstate.rs index 532552e5e..0ada9e0bd 100644 --- a/src/dc_apeerstate.rs +++ b/src/dc_apeerstate.rs @@ -18,7 +18,6 @@ use crate::x::*; * @class dc_apeerstate_t * Library-internal. */ -#[repr(C)] pub struct dc_apeerstate_t<'a> { pub context: &'a dc_context_t, pub addr: *mut libc::c_char, @@ -214,7 +213,7 @@ pub unsafe fn dc_apeerstate_apply_header( peerstate.to_save |= 0x2i32 } - if peerstate.public_key.as_ref() == Some(&header.public_key) { + if peerstate.public_key.as_ref() != Some(&header.public_key) { peerstate.public_key = Some(header.public_key.clone()); dc_apeerstate_recalc_fingerprint(peerstate); peerstate.to_save |= 0x2i32;