summaryrefslogtreecommitdiffstats
path: root/lib/errstr.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/errstr.c')
-rw-r--r--lib/errstr.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/errstr.c b/lib/errstr.c
new file mode 100644
index 0000000..6c4425d
--- /dev/null
+++ b/lib/errstr.c
@@ -0,0 +1,24 @@
+#include "jove.h"
+
+const char*
+errstr(int err)
+{
+ static const char *errstrs[] = {
+ [0] = "OKAY",
+ [EBADOBJ] = "BAD OBJECT",
+ [EOOB] = "OUT OF BOUNDS",
+ [EBADPATH] = "BAD PATH",
+ [ETOOSMALL] = "TOO SMALL",
+ [ETOOBIG] = "TOO BIG",
+ [EBADSIZE] = "BAD SIZE",
+ [ENOMAP] = "NO MAP",
+ [EHASMAP] = "HAS MAP",
+ [EALIGN] = "ALIGNMENT ERROR",
+ [EEXIST] = "ALREADY EXISTS",
+ [EBUSY] = "RESOURCE BUSY"
+ };
+ if(err >= sizeof(errstrs) / sizeof(const char*)) {
+ return "UNKNOWN ERROR";
+ }
+ return errstrs[err];
+}