Fix populated_tags to handle view on multiple tags
This commit is contained in:
		
							
								
								
									
										20
									
								
								src/main.rs
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								src/main.rs
									
									
									
									
									
								
							| @ -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 { | ||||
|  | ||||
		Reference in New Issue
	
	Block a user