bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

strerrorname_np: Add support for Solaris 11.4/sparc


From: Bruno Haible
Subject: strerrorname_np: Add support for Solaris 11.4/sparc
Date: Sun, 25 Jun 2023 19:13:24 +0200

On Solaris 11.4/sparc I see a test failure:

$ ./test-strerrorname_np 
../../gltests/test-strerrorname_np.c:310: assertion 'strcmp (strerrorname_np 
(EBADE), "EBADE") == 0' failed
Abort (core dumped)

This patch fixes it.


2023-06-25  Bruno Haible  <bruno@clisp.org>

        strerrorname_np: Add support for Solaris 11.4/sparc.
        * lib/strerrorname_np.c (strerrorname_np): Consider ECKSUM, EFRAGS.
        Allow ENOANO to be overloaded to another value.
        * tests/test-strerrorname_np.c (main): Likewise.

diff --git a/lib/strerrorname_np.c b/lib/strerrorname_np.c
index 6bbb84f044..4445a88ac6 100644
--- a/lib/strerrorname_np.c
+++ b/lib/strerrorname_np.c
@@ -304,7 +304,7 @@ strerrorname_np (int errnum)
     case EBADCPU:         return "EBADCPU";
     #endif
     /* Linux, IRIX, Solaris, Cygwin */
-    #if defined EBADE
+    #if defined EBADE && EBADE != ECKSUM
     case EBADE:           return "EBADE";
     #endif
     /* Minix */
@@ -336,7 +336,7 @@ strerrorname_np (int errnum)
     case EBADMODE:        return "EBADMODE";
     #endif
     /* Linux, IRIX, Solaris, Cygwin */
-    #if defined EBADR
+    #if defined EBADR && EBADR != EFRAGS
     case EBADR:           return "EBADR";
     #endif
     /* Minix */
@@ -407,6 +407,10 @@ strerrorname_np (int errnum)
     #if defined ECKPT
     case ECKPT:           return "ECKPT";
     #endif
+    /* Solaris */
+    #if defined ECKSUM
+    case ECKSUM:          return "ECKSUM";
+    #endif
     /* IRIX */
     #if defined ECLOCKCPU
     case ECLOCKCPU:       return "ECLOCKCPU";
@@ -567,6 +571,10 @@ strerrorname_np (int errnum)
     #if defined EFPOS
     case EFPOS:           return "EFPOS";
     #endif
+    /* Solaris */
+    #if defined EFRAGS
+    case EFRAGS:          return "EFRAGS";
+    #endif
     /* IRIX */
     #if defined EFSCORRUPTED
     case EFSCORRUPTED:    return "EFSCORRUPTED";
@@ -1016,7 +1024,7 @@ strerrorname_np (int errnum)
     case ENMFILE:         return "ENMFILE";
     #endif
     /* Linux, IRIX, Solaris, Cygwin */
-    #if defined ENOANO
+    #if defined ENOANO && ENOANO != ENOKEY
     case ENOANO:          return "ENOANO";
     #endif
     /* IRIX */
diff --git a/tests/test-strerrorname_np.c b/tests/test-strerrorname_np.c
index 49de0c750d..5bd0f3ab55 100644
--- a/tests/test-strerrorname_np.c
+++ b/tests/test-strerrorname_np.c
@@ -306,7 +306,7 @@ main (void)
   ASSERT (strcmp (strerrorname_np (EBADCPU), "EBADCPU") == 0);
   #endif
   /* Linux, IRIX, Solaris, Cygwin */
-  #if defined EBADE
+  #if defined EBADE && EBADE != ECKSUM
   ASSERT (strcmp (strerrorname_np (EBADE), "EBADE") == 0);
   #endif
   /* Minix */
@@ -338,7 +338,7 @@ main (void)
   ASSERT (strcmp (strerrorname_np (EBADMODE), "EBADMODE") == 0);
   #endif
   /* Linux, IRIX, Solaris, Cygwin */
-  #if defined EBADR
+  #if defined EBADR && EBADR != EFRAGS
   ASSERT (strcmp (strerrorname_np (EBADR), "EBADR") == 0);
   #endif
   /* Minix */
@@ -409,6 +409,10 @@ main (void)
   #if defined ECKPT
   ASSERT (strcmp (strerrorname_np (ECKPT), "ECKPT") == 0);
   #endif
+  /* Solaris */
+  #if defined ECKSUM
+  ASSERT (strcmp (strerrorname_np (ECKSUM), "ECKSUM") == 0);
+  #endif
   /* IRIX */
   #if defined ECLOCKCPU
   ASSERT (strcmp (strerrorname_np (ECLOCKCPU), "ECLOCKCPU") == 0);
@@ -569,6 +573,10 @@ main (void)
   #if defined EFPOS
   ASSERT (strcmp (strerrorname_np (EFPOS), "EFPOS") == 0);
   #endif
+  /* Solaris */
+  #if defined EFRAGS
+  ASSERT (strcmp (strerrorname_np (EFRAGS), "EFRAGS") == 0);
+  #endif
   /* IRIX */
   #if defined EFSCORRUPTED
   ASSERT (strcmp (strerrorname_np (EFSCORRUPTED), "EFSCORRUPTED") == 0);
@@ -1018,7 +1026,7 @@ main (void)
   ASSERT (strcmp (strerrorname_np (ENMFILE), "ENMFILE") == 0);
   #endif
   /* Linux, IRIX, Solaris, Cygwin */
-  #if defined ENOANO
+  #if defined ENOANO && ENOANO != ENOKEY
   ASSERT (strcmp (strerrorname_np (ENOANO), "ENOANO") == 0);
   #endif
   /* IRIX */






reply via email to

[Prev in Thread] Current Thread [Next in Thread]