diff --git a/src/dc_configure.rs b/src/dc_configure.rs index a50d4db35..8884104f9 100644 --- a/src/dc_configure.rs +++ b/src/dc_configure.rs @@ -570,13 +570,13 @@ pub unsafe fn dc_job_do_DC_JOB_CONFIGURE_IMAP(context: &Context, _job: *mut dc_j { param.send_pw = param.mail_pw.clone() } - if 0 == dc_exactly_one_bit_set( + if !dc_exactly_one_bit_set( param.server_flags & (0x2 | 0x4), ) { param.server_flags &= !(0x2 | 0x4); param.server_flags |= 0x4 } - if 0 == dc_exactly_one_bit_set( + if !dc_exactly_one_bit_set( param.server_flags & (0x100 | 0x200 | 0x400), ) { param.server_flags &= !(0x100 | 0x200 | 0x400); @@ -586,7 +586,7 @@ pub unsafe fn dc_job_do_DC_JOB_CONFIGURE_IMAP(context: &Context, _job: *mut dc_j 0x200 } } - if 0 == dc_exactly_one_bit_set( + if !dc_exactly_one_bit_set( param.server_flags & (0x10000 | 0x20000 | 0x40000), ) { param.server_flags &= diff --git a/src/dc_tools.rs b/src/dc_tools.rs index dda2b2584..ec272932c 100644 --- a/src/dc_tools.rs +++ b/src/dc_tools.rs @@ -20,8 +20,8 @@ no references to Context and other "larger" classes here. */ // for carray etc. /* ** library-private **********************************************************/ /* math tools */ -pub unsafe fn dc_exactly_one_bit_set(v: libc::c_int) -> libc::c_int { - return (0 != v && 0 == v & v - 1i32) as libc::c_int; +pub fn dc_exactly_one_bit_set(v: libc::c_int) -> bool { + 0 != v && 0 == v & v - 1i32 } /* string tools */