Fix populated_tags to handle view on multiple tags

This commit is contained in:
Alexander Rosenberg 2024-05-02 21:53:39 -07:00
parent dee8fe9ab9
commit 39d6268487
Signed by: Zander671
GPG Key ID: 5FD0394ADBD72730

View File

@ -208,18 +208,16 @@ fn handle_river_output_status(
tags,
} => {
if let Some(output) = env.outputs.get_mut(&output_id) {
output.populated_tags = tags[0..]
.chunks(4)
.map(|s| {
let buf = [s[0], s[1], s[2], s[3]];
let tagmask = u32::from_le_bytes(buf);
for i in 0..32 {
if 1 << i == tagmask {
return 1 + i;
}
output.populated_tags.clear();
for tag_ind in 0..(tags.len()) {
for bit_ind in 0..=7 {
if tags[tag_ind] & (1 << bit_ind) != 0 {
output.populated_tags.push(
((tag_ind * 8 + bit_ind + 1) % 32) as u32
);
}
0
}).collect();
}
}
}
},
zriver_output_status_v1::Event::UrgentTags {