summaryrefslogtreecommitdiff
path: root/src/backend/port/strerror.c
diff options
context:
space:
mode:
authorMarc G. Fournier <scrappy@hub.org>1997-03-19 02:37:42 +0000
committerMarc G. Fournier <scrappy@hub.org>1997-03-19 02:37:42 +0000
commit6ffd26d8eb11c28bdca0fc76290cd5b431be46f5 (patch)
treef610e560ed31ac373a77da0abca32cdd28fce05b /src/backend/port/strerror.c
parentda9dcf826bea000908b63297ef7d90e8a64d390e (diff)
Add a check for strerr, and add in D'Arcy's strerror() code in case not
found
Diffstat (limited to 'src/backend/port/strerror.c')
-rw-r--r--src/backend/port/strerror.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/backend/port/strerror.c b/src/backend/port/strerror.c
new file mode 100644
index 00000000000..7ec842e366e
--- /dev/null
+++ b/src/backend/port/strerror.c
@@ -0,0 +1,30 @@
+/*
+ * strerror - map error number to descriptive string
+ *
+ * This version is obviously somewhat Unix-specific.
+ *
+ * based on code by Henry Spencer
+ * modified for ANSI by D'Arcy J.M. Cain
+ */
+
+#include <string.h>
+#include <stdio.h>
+#include <errno.h>
+
+extern const char * const sys_errlist[];
+extern int sys_nerr;
+
+const char *
+strerror(int errnum)
+{
+ static char buf[24];
+
+ if (errnum < 0 || errnum > sys_nerr)
+ {
+ sprintf(buf, "unknown error %d", errnum);
+ return(buf);
+ }
+
+ return(sys_errlist[errnum]);
+}
+