mirror of
https://github.com/uutils/coreutils.git
synced 2026-06-10 15:48:22 -07:00
core: add signal name lookup by value
This commit is contained in:
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user