#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", [EEMPTY] = "EMPTY", [EFULL] = "FULL", [EOVERFLOW] = "OVERFLOW", [EBADCALL] = "BAD CALL", [EPERM] = "NO PERMISSION", [EBADPROC] = "INVALID PROCESS", [ENOMAIL] = "NO MAIL", [ETIMEOUT] = "TIMEOUT" }; if(err >= sizeof(errstrs) / sizeof(const char*)) { return "UNKNOWN ERROR"; } return errstrs[err]; }