#include "libc.h" #include #include #define E(a, b) ((unsigned char)a), static const unsigned char errid[] = { #include "__strerror.h" }; #undef E #define E(a, b) b "\0" static const char errmsg[] = #include "__strerror.h" ; char* strerror(int e) { const char* s; int i; for (i = 0; errid[i] && errid[i] != e; i++) ; for (s = errmsg; i; s++, i--) for (; *s; s++) ; return (char*)s; }