Package: aplus-fsf
Version: 4.22.1-10.1
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu hirsute ubuntu-patch
X-Debbugs-Cc: lo...@ubuntu.com

Hi,

aplus-fsf currently FTBFS against glibc 2.32, which is used in the
development release of Ubuntu (and should be in Debian soon).

This is because it has some improperly guarded usage of sys_errlist
instead of strerror().

In Ubuntu, the attached patch was applied to achieve the following:

  * Fix FTBFS against glibc 2.32 by using strerror() instead of sys_errlist.

Thanks for considering the patch.

Logan
only in patch2:
unchanged:
--- aplus-fsf-4.22.1.orig/src/MSIPC/MSProtocolConnection.C
+++ aplus-fsf-4.22.1/src/MSIPC/MSProtocolConnection.C
@@ -129,8 +129,13 @@
   if (getpeername(fd(),(struct sockaddr *)&sockname,&socklen)) 
 #endif
    {
+#if defined (HAVE_STRERROR)
+     char *errstr = strerror(errno);
+#else
+     char *errstr = (errno<sys_nerr)?sys_errlist[errno]:"unknown error";
+#endif
      MSMessageLog::warningMessage("MSProtocolConnection: getpeername failed: 
%s\n",
-                                  (errno<sys_nerr)?sys_errlist[errno]:"unknown 
error");
+                                  errstr);
      close();
      return MSFalse;
    }
only in patch2:
unchanged:
--- aplus-fsf-4.22.1.orig/src/dap/error.c
+++ aplus-fsf-4.22.1/src/dap/error.c
@@ -71,12 +71,12 @@
 
        /* error string a la syslog(3) */
       case 'm':
-       if (errnum < 1 || errnum > sys_nerr)
-         str = "unknown error";
-       else
 #ifdef HAVE_STRERROR
-          str = strerror(errnum);
+        str = strerror(errnum);
 #else
+        if (errnum < 1 || errnum > sys_nerr)
+          str = "unknown error";
+        else
          str = sys_errlist[errnum];
 #endif
        for (z = str; *z != (char) NULL &&

Reply via email to