From abe3cf87a16969c330e4bfac674b9483494d8dab Mon Sep 17 00:00:00 2001 From: ispik Date: Thu, 28 May 2026 22:55:13 +0300 Subject: [PATCH] fix: adjust bit manipulation Signed-off-by: ispik --- crates/core/database/src/models/messages/model.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/crates/core/database/src/models/messages/model.rs b/crates/core/database/src/models/messages/model.rs index bacb3c53..205e64a4 100644 --- a/crates/core/database/src/models/messages/model.rs +++ b/crates/core/database/src/models/messages/model.rs @@ -219,7 +219,7 @@ impl MessageFlagsValue { self.has_value(flag as u32) } pub fn has_value(&self, bit: u32) -> bool { - let mask = 1 << bit; + let mask = 1 << (bit - 1); self.0 & mask == mask } @@ -227,10 +227,11 @@ impl MessageFlagsValue { self.set_value(flag as u32, toggle) } pub fn set_value(&mut self, bit: u32, toggle: bool) -> &mut Self { + let mask = 1 << (bit - 1); if toggle { - self.0 |= 1 << bit; + self.0 |= mask; } else { - self.0 &= !(1 << bit); + self.0 &= !mask; } self }