summaryrefslogtreecommitdiffstats
path: root/lib/errstr.c
blob: 6c4425d30a03f0df6eaaaf78e8c4b41b80a1dfb2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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];
}