fix: adjust bit manipulation

Signed-off-by: ispik <ispik@ispik.dev>
This commit is contained in:
ispik
2026-05-28 22:55:13 +03:00
parent 7937179db7
commit abe3cf87a1

View File

@@ -219,7 +219,7 @@ impl MessageFlagsValue {
self.has_value(flag as u32) self.has_value(flag as u32)
} }
pub fn has_value(&self, bit: u32) -> bool { pub fn has_value(&self, bit: u32) -> bool {
let mask = 1 << bit; let mask = 1 << (bit - 1);
self.0 & mask == mask self.0 & mask == mask
} }
@@ -227,10 +227,11 @@ impl MessageFlagsValue {
self.set_value(flag as u32, toggle) self.set_value(flag as u32, toggle)
} }
pub fn set_value(&mut self, bit: u32, toggle: bool) -> &mut Self { pub fn set_value(&mut self, bit: u32, toggle: bool) -> &mut Self {
let mask = 1 << (bit - 1);
if toggle { if toggle {
self.0 |= 1 << bit; self.0 |= mask;
} else { } else {
self.0 &= !(1 << bit); self.0 &= !mask;
} }
self self
} }