aboutsummaryrefslogtreecommitdiff
path: root/src/eval/eval_err.cc
blob: 3d902622b6e237594268f45f3262f721e49187a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

#include "eval.h"

#include <print>
#include <unistd.h>

using namespace std;

namespace ov4
{

void eval_err(int err)
{
    switch (err)
    {
        case ENOTDIR:
            println(": A component of the path prefix is not a directory.");
            _exit(errno);
            break;

        case ENAMETOOLONG:
            println(": A component of a pathname exceeded 255 characters, or an entire path name exceeded 1023 characters.");
            _exit(errno);
            break;

        case ENOENT:
            println(": The new process file does not exist.");
            _exit(errno);
            break;

        case EACCES:
            println(": The new process file mode denies execute permission.");
            _exit(errno);
            break;

        default:
            println(": Error, code: {}", errno);
            _exit(errno);
    }
}

}