2025-09-10 Bruno Haible <bruno@clisp.org>
+ 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.
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. */
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
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. */
{
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);