diff options
Diffstat (limited to 'mdk-stage1/dietlibc/lib/perror.c')
-rw-r--r-- | mdk-stage1/dietlibc/lib/perror.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/lib/perror.c b/mdk-stage1/dietlibc/lib/perror.c index 5476d76a1..ecab7250b 100644 --- a/mdk-stage1/dietlibc/lib/perror.c +++ b/mdk-stage1/dietlibc/lib/perror.c @@ -1,5 +1,7 @@ +#include "dietfeatures.h" #include <unistd.h> #include <string.h> +#include <errno.h> extern char *sys_errlist[]; extern int sys_nerr; @@ -10,7 +12,11 @@ void perror(const char *s) { write(2,s,strlen(s)); write(2,": ",2); if (errno>=0 && errno<sys_nerr) +#ifdef WANT_THREAD_SAFE + message=sys_errlist[*__errno_location()]; +#else message=sys_errlist[errno]; +#endif write(2,message,strlen(message)); write(2,"\n",1); } |