#include #include #define E(a,b) 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; }