Under AIX 4.3.3, the strerror_r() call returns an integer, not a
string pointer as expected by lib/error.c in the fileutils-4.0
distribution.  The same source file is used in both the sh-utils-2.0
and textutils-2.0 distributions, and seems to have been fixed in both
places.  I've attached a patch which shows the difference between the
version from fileutils-4.0 and the version from textutils-2.0.

Also, when is the next release of GNU fileutils expected to occur?
Back in March '99, I submitted a patch related to GNU df and the AIX
automounter, and I'd like to see both that patch and this fix make it
into a new release so that others can benefit from them.  Thanks!

-- 
Mark D. Roth <[EMAIL PROTECTED]>
System Administrator, CCSO Production Systems Group
http://www.uiuc.edu/ph/www/roth
--- fileutils-4.0/lib/error.c   Fri Mar 27 11:22:34 1998
+++ textutils-2.0/lib/error.c   Sun Dec 13 11:24:40 1998
@@ -152,7 +152,10 @@
     {
 #if defined HAVE_STRERROR_R || defined _LIBC
       char errbuf[1024];
-      fprintf (stderr, ": %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'.  */
+      __strerror_r (errnum, errbuf, sizeof errbuf);
+      fprintf (stderr, ": %s", errbuf);
 #else
       fprintf (stderr, ": %s", strerror (errnum));
 #endif

Reply via email to