diff options
Diffstat (limited to 'src/eval/eval_err.cc')
| -rw-r--r-- | src/eval/eval_err.cc | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/eval/eval_err.cc b/src/eval/eval_err.cc new file mode 100644 index 0000000..3d90262 --- /dev/null +++ b/src/eval/eval_err.cc @@ -0,0 +1,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); + } +} + +}
\ No newline at end of file |
