summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/lib/perror.c
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/dietlibc/lib/perror.c')
-rw-r--r--mdk-stage1/dietlibc/lib/perror.c6
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);
}