summaryrefslogtreecommitdiff
path: root/kern/error.c
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2014-10-09 21:36:48 +0200
committerRichard Braun <rbraun@sceen.net>2014-10-09 21:36:48 +0200
commit321fd79c19d48ed57775c996af932d991901ab5a (patch)
tree199a6dd42cadad7f7a1dec63141c999225c0a8ae /kern/error.c
parent6ce44dca7860288f1b0205b823ae5747e52978e5 (diff)
kern/error: new error_str function
Diffstat (limited to 'kern/error.c')
-rw-r--r--kern/error.c31
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));
}