summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorWilliam Howard <wjhoward88@gmail.com>2023-10-13 09:56:28 +0100
committerGitHub <noreply@github.com>2023-10-13 10:56:28 +0200
commit81c7d0cc5805dc10018f0589a6671e1b727a0e9c (patch)
treefec8094e4b7fa2d66509c0829b8fce886b1846e7 /src
parent0e738175c57d5789350b996b69c5713aac03835e (diff)
feat: add additional exit status code meanings from libc (#5412)
Diffstat (limited to 'src')
-rw-r--r--src/modules/status.rs38
1 files changed, 37 insertions, 1 deletions
diff --git a/src/modules/status.rs b/src/modules/status.rs
index 4c33896cf..317e0cc4e 100644
--- a/src/modules/status.rs
+++ b/src/modules/status.rs
@@ -189,6 +189,24 @@ fn status_common_meaning(ex: ExitCode) -> Option<&'static str> {
0 => Some(""), // SUCCESS can be defined by $success_symbol if the user wishes too.
1 => Some("ERROR"),
2 => Some("USAGE"),
+
+ // status codes 64-78 from libc
+ 64 => Some("USAGE"),
+ 65 => Some("DATAERR"),
+ 66 => Some("NOINPUT"),
+ 67 => Some("NOUSER"),
+ 68 => Some("NOHOST"),
+ 69 => Some("UNAVAILABLE"),
+ 70 => Some("SOFTWARE"),
+ 71 => Some("OSERR"),
+ 72 => Some("OSFILE"),
+ 73 => Some("CANTCREAT"),
+ 74 => Some("IOERR"),
+ 75 => Some("TEMPFAIL"),
+ 76 => Some("PROTOCOL"),
+ 77 => Some("NOPERM"),
+ 78 => Some("CONFIG"),
+
126 => Some("NOPERM"),
127 => Some("NOTFOUND"),
_ => None,
@@ -409,10 +427,28 @@ mod tests {
#[test]
fn exit_code_name_no_signal() {
- let exit_values = [1, 2, 126, 127, 130, 101, 132];
+ let exit_values = [
+ 1, 2, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 126, 127, 130, 101,
+ 132,
+ ];
let exit_values_name = [
Some("ERROR"),
Some("USAGE"),
+ Some("USAGE"),
+ Some("DATAERR"),
+ Some("NOINPUT"),
+ Some("NOUSER"),
+ Some("NOHOST"),
+ Some("UNAVAILABLE"),
+ Some("SOFTWARE"),
+ Some("OSERR"),
+ Some("OSFILE"),
+ Some("CANTCREAT"),
+ Some("IOERR"),
+ Some("TEMPFAIL"),
+ Some("PROTOCOL"),
+ Some("NOPERM"),
+ Some("CONFIG"),
Some("NOPERM"),
Some("NOTFOUND"),
None,