diff options
author | Richard Braun <rbraun@sceen.net> | 2014-10-09 21:36:48 +0200 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2014-10-09 21:36:48 +0200 |
commit | 321fd79c19d48ed57775c996af932d991901ab5a (patch) | |
tree | 199a6dd42cadad7f7a1dec63141c999225c0a8ae /kern/error.c | |
parent | 6ce44dca7860288f1b0205b823ae5747e52978e5 (diff) |
kern/error: new error_str function
Diffstat (limited to 'kern/error.c')
-rw-r--r-- | kern/error.c | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/kern/error.c b/kern/error.c index 3e50149..f448b4d 100644 --- a/kern/error.c +++ b/kern/error.c @@ -18,32 +18,33 @@ #include <kern/error.h> #include <kern/panic.h> -void -error_check(int error, const char *prefix) +const char * +error_str(int error) { - const char *msg; - switch (error) { case 0: - return; + return "success"; case ERROR_NOMEM: - msg = "out of memory"; - break; + return "out of memory"; case ERROR_AGAIN: - msg = "resource temporarily unavailable"; - break; + return "resource temporarily unavailable"; case ERROR_INVAL: - msg = "invalid argument"; - break; + return "invalid argument"; case ERROR_BUSY: - msg = "device or resource busy"; - break; + return "device or resource busy"; default: - msg = "unknown error"; + return "unknown error"; } +} + +void +error_check(int error, const char *prefix) +{ + if (!error) + return; panic("%s%s%s", (prefix == NULL) ? "" : prefix, (prefix == NULL) ? "" : ": ", - msg); + error_str(error)); } |