Our strerror_r(3) returns int, not char *. This fixes bogus error messages
like "Cannot stat: (null)" Reported by: bde, kris
This commit is contained in:
parent
fd67d75e4d
commit
8c4cde6179
@ -19,6 +19,8 @@
|
||||
|
||||
/* Written by David MacKenzie <djm@gnu.ai.mit.edu>. */
|
||||
|
||||
/* $FreeBSD$ */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
@ -188,7 +190,10 @@ error_tail (int status, int errnum, const char *message, va_list args)
|
||||
{
|
||||
# if defined HAVE_STRERROR_R || _LIBC
|
||||
char errbuf[1024];
|
||||
char *s = __strerror_r (errnum, errbuf, sizeof errbuf);
|
||||
/* Don't use __strerror_r's return value because on some systems
|
||||
(at least DEC UNIX 4.0[A-D]) strerror_r returns `int'. */
|
||||
(void)__strerror_r (errnum, errbuf, sizeof errbuf);
|
||||
char *s = errbuf;
|
||||
# if _LIBC && USE_IN_LIBIO
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L": %s", s);
|
||||
|
Loading…
Reference in New Issue
Block a user