From 9ad1f135fafcca1d43766dc928e50e4de201614c Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 21 Jan 1998 18:28:09 +0000 Subject: Added autoconf support for strerror/sys_errlist per Ralf Corsepius' direction. This fixes a problem reported by Steve Evans of Radstone since he is using glibc2. --- tools/build/src/cklength.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) (limited to 'tools/build/src/cklength.c') diff --git a/tools/build/src/cklength.c b/tools/build/src/cklength.c index ef271971fc..4b712a1d63 100644 --- a/tools/build/src/cklength.c +++ b/tools/build/src/cklength.c @@ -35,6 +35,24 @@ maximum line length. The default maximum line length is 80.\n\ #include #include +#include "config.h" + +#ifndef VMS +#ifndef HAVE_STRERROR +extern int sys_nerr; +extern char *sys_errlist[]; + +#define strerror( _err ) \ + ((_err) < sys_nerr) ? sys_errlist [(_err)] : "unknown error" + +#else /* HAVE_STRERROR */ +char *strerror (); +#endif +#else /* VMS */ +char *strerror (int,...); +#endif + + #define BUFFER_SIZE 512 #define SUCCESS 0 @@ -231,8 +249,6 @@ error(int error_flag, ...) { va_list arglist; register char *format; - extern char *sys_errlist[]; - extern int sys_nerr; int local_errno; extern int errno; @@ -250,12 +266,7 @@ error(int error_flag, ...) va_end(arglist); if (local_errno) - if ((local_errno > 0) && (local_errno < sys_nerr)) - (void) fprintf(stderr, " (%s)\n", sys_errlist[local_errno]); - else - (void) fprintf(stderr, " (unknown errno=%d)\n", local_errno); - else - (void) fprintf(stderr, "\n"); + (void) fprintf(stderr, " (%s)\n", strerror(local_errno)); (void) fflush(stderr); -- cgit v1.2.3