luna: Add error_name, similar to strerrorname_np from glibc
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
man strerrorname_np(3)
This commit is contained in:
parent
3a2e5b7ce0
commit
80492f6ad3
@ -60,6 +60,7 @@
|
||||
|
||||
#ifndef _LUNA_SOURCE
|
||||
const char* error_string(int error);
|
||||
const char* error_name(int error);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -61,3 +61,67 @@ const char* error_string(int error)
|
||||
default: return "Unknown error";
|
||||
}
|
||||
}
|
||||
|
||||
const char* error_name(int error)
|
||||
{
|
||||
#define ERROR(name) \
|
||||
case name: return #name
|
||||
|
||||
switch (error)
|
||||
{
|
||||
ERROR(EPERM);
|
||||
ERROR(ENOENT);
|
||||
ERROR(ESRCH);
|
||||
ERROR(EINTR);
|
||||
ERROR(EIO);
|
||||
ERROR(ENXIO);
|
||||
ERROR(E2BIG);
|
||||
ERROR(ENOEXEC);
|
||||
ERROR(EBADF);
|
||||
ERROR(ECHILD);
|
||||
ERROR(EAGAIN);
|
||||
ERROR(ENOMEM);
|
||||
ERROR(EACCES);
|
||||
ERROR(EFAULT);
|
||||
ERROR(ENOTBLK);
|
||||
ERROR(EBUSY);
|
||||
ERROR(EEXIST);
|
||||
ERROR(EXDEV);
|
||||
ERROR(ENODEV);
|
||||
ERROR(ENOTDIR);
|
||||
ERROR(EISDIR);
|
||||
ERROR(EINVAL);
|
||||
ERROR(ENFILE);
|
||||
ERROR(EMFILE);
|
||||
ERROR(ENOTTY);
|
||||
ERROR(ETXTBSY);
|
||||
ERROR(EFBIG);
|
||||
ERROR(ENOSPC);
|
||||
ERROR(ESPIPE);
|
||||
ERROR(EROFS);
|
||||
ERROR(EMLINK);
|
||||
ERROR(EPIPE);
|
||||
ERROR(EDOM);
|
||||
ERROR(ERANGE);
|
||||
ERROR(EDEADLK);
|
||||
ERROR(ENAMETOOLONG);
|
||||
ERROR(ENOLCK);
|
||||
ERROR(ENOSYS);
|
||||
ERROR(ENOTEMPTY);
|
||||
ERROR(ELOOP);
|
||||
ERROR(ENOMSG);
|
||||
ERROR(EOVERFLOW);
|
||||
ERROR(EILSEQ);
|
||||
ERROR(ENOTSOCK);
|
||||
ERROR(ENOTSUP);
|
||||
ERROR(EADDRINUSE);
|
||||
ERROR(ENETRESET);
|
||||
ERROR(ECONNRESET);
|
||||
ERROR(EISCONN);
|
||||
ERROR(ETIMEDOUT);
|
||||
ERROR(EALREADY);
|
||||
default: return nullptr;
|
||||
}
|
||||
|
||||
#undef ERROR
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user