1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 11:37:44 +00:00

core: add signal name lookup by value

This commit is contained in:
Michael Debertol 2021-06-10 18:29:06 +02:00
parent ceb5a2998c
commit b0b937dc3e

View file

@ -349,6 +349,13 @@ pub fn signal_by_name_or_value(signal_name_or_value: &str) -> Option<usize> {
.map(|s| s.value)
}
pub fn signal_name_by_value(signal_value: usize) -> Option<&'static str> {
ALL_SIGNALS
.iter()
.find(|signal| signal.value == signal_value)
.map(|signal| signal.name)
}
#[inline(always)]
pub fn is_signal(num: usize) -> bool {
// Named signals start at 1
@ -358,7 +365,7 @@ pub fn is_signal(num: usize) -> bool {
#[test]
fn signals_all_contiguous() {
for (i, signal) in ALL_SIGNALS.iter().enumerate() {
assert_eq!(signal.value, i + 1);
assert_eq!(signal.value, i);
}
}
@ -396,3 +403,10 @@ fn signal_by_long_name() {
);
}
}
#[test]
fn name() {
for signal in &ALL_SIGNALS {
assert_eq!(signal_name_by_value(signal.value), Some(signal.name));
}
}