aboutsummaryrefslogtreecommitdiff
path: root/libio/ioperror.c
diff options
context:
space:
mode:
Diffstat (limited to 'libio/ioperror.c')
-rw-r--r--libio/ioperror.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/libio/ioperror.c b/libio/ioperror.c
new file mode 100644
index 00000000000..55d822b63a6
--- /dev/null
+++ b/libio/ioperror.c
@@ -0,0 +1,22 @@
+#include "libioP.h"
+#include <errno.h>
+#include <string.h>
+#ifndef errno
+extern int errno;
+#endif
+
+#ifndef _IO_strerror
+extern char* _IO_strerror __P((int));
+#endif
+
+void
+DEFUN(_IO_perror, (s),
+ const char *s)
+{
+ char *error = _IO_strerror (errno);
+
+ if (s != NULL && *s != '\0')
+ _IO_fprintf (_IO_stderr, "%s:", s);
+
+ _IO_fprintf (_IO_stderr, "%s\n", error ? error : "");
+}