From: Bruno Haible Date: Wed, 10 Sep 2025 21:16:45 +0000 (+0200) Subject: strerror_r: Remove support for IRIX. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2963ad9266af3fd726b948e5c869f98d2401c09b;p=thirdparty%2Fgnulib.git strerror_r: Remove support for IRIX. * lib/strerror_r.c: Remove code for IRIX. (strerror_r): Assume that strerror() returns non-NULL. --- diff --git a/ChangeLog b/ChangeLog index 98b9f54953..c7df8df4d3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2025-09-10 Bruno Haible + strerror_r: Remove support for IRIX. + * lib/strerror_r.c: Remove code for IRIX. + (strerror_r): Assume that strerror() returns non-NULL. + stdio-h: Remove support for IRIX. * lib/stdio.in.h (_PRINTF_NAN_LEN_MAX): Remove code for IRIX. diff --git a/lib/strerror_r.c b/lib/strerror_r.c index 23106ea7c3..9c0161cd01 100644 --- a/lib/strerror_r.c +++ b/lib/strerror_r.c @@ -54,7 +54,7 @@ _GL_EXTERN_C int __xpg_strerror_r (int errnum, char *buf, size_t buflen); strerror_r clobbers strerror. */ # undef strerror -# if defined __NetBSD__ || defined __hpux || (defined _WIN32 && !defined __CYGWIN__) || defined __sgi || (defined __sun && !defined _LP64) || defined __CYGWIN__ +# if defined __NetBSD__ || defined __hpux || (defined _WIN32 && !defined __CYGWIN__) || (defined __sun && !defined _LP64) || defined __CYGWIN__ /* No locking needed. */ @@ -67,9 +67,8 @@ _GL_EXTERN_C int __xpg_strerror_r (int errnum, char *buf, size_t buflen); extern "C" { #endif -/* Get sys_nerr, sys_errlist on HP-UX (otherwise only declared in C++ mode). - Get sys_nerr, sys_errlist on IRIX (otherwise only declared with _SGIAPI). */ -# if defined __hpux || defined __sgi +/* Get sys_nerr, sys_errlist on HP-UX (otherwise only declared in C++ mode). */ +# if defined __hpux extern int sys_nerr; extern char *sys_errlist[]; # endif @@ -294,7 +293,7 @@ strerror_r (int errnum, char *buf, size_t buflen) else ret = EINVAL; -# elif defined __sgi || (defined __sun && !defined _LP64) /* IRIX, Solaris <= 9 32-bit */ +# elif defined __sun && !defined _LP64 /* Solaris <= 9 32-bit */ /* For a valid error number, the system's strerror() function returns a pointer to a not copied string, not to a buffer. */ @@ -317,10 +316,9 @@ strerror_r (int errnum, char *buf, size_t buflen) { char *errmsg = strerror (errnum); - /* For invalid error numbers, strerror() on - - IRIX 6.5 returns NULL, - - HP-UX 11 returns an empty string. */ - if (errmsg == NULL || *errmsg == '\0') + /* For invalid error numbers, strerror() on HP-UX 11 returns an empty + string. */ + if (*errmsg == '\0') ret = EINVAL; else ret = safe_copy (buf, buflen, errmsg);