[uClibc] what to do for missing sys_nerr

Peter S. Mazinger ps.m at gmx.net
Thu Jan 15 08:05:23 UTC 2004


On Wed, 14 Jan 2004, Manuel Novoa III wrote:

> Hello,
> 
> On Wed, Jan 14, 2004 at 09:33:45PM +0100, Peter S. Mazinger wrote:
> > I am trying to build dev86 (0.16.3), and replaced sys_errlist, but what 
> > should I do with sys_nerr?
> 
> Remove it?  The only time I see it used is in ar.c, and then only to
> prevent accesses outside the range of sys_errlist.  When using functions
> list strerror_r() or strerror(), doing such range checks is unnecessary

Have you meant it like this?

--- ar/ar.c.mps	2004-01-15 08:46:03.000000000 +0100
+++ ar/ar.c	2004-01-15 08:48:06.000000000 +0100
@@ -37,8 +37,6 @@
 #define HAVE_RENAME
 #undef  HAVE_FSYNC
 #define SHORT_FILENAME
-extern char **sys_errlist;
-extern int sys_nerr;
 #else
 #define HAVE_FCHMOD
 #define HAVE_RENAME
@@ -2054,10 +2052,7 @@
 {
   char *s;
 
-  if (errno < sys_nerr)
-    s = concat ("", sys_errlist[errno], " for %s");
-  else
-    s = "unknown error for %s";
+  s = concat ("", strerror(errno), " for %s");
   error (s, name);
 }
 
@@ -2067,10 +2062,7 @@
 {
   char *s;
 
-  if (errno < sys_nerr)
-    s = concat ("", sys_errlist[errno], " for %s");
-  else
-    s = "cannot open %s";
+  s = concat ("", strerror(errno), " for %s");
   fatal (s, name);
 }
 
Peter

-- 
Peter S. Mazinger <ps dot m at gmx dot net>           ID: 0xA5F059F2
Key fingerprint = 92A4 31E1 56BC 3D5A 2D08  BB6E C389 975E A5F0 59F2


____________________________________________________________________
Miert fizetsz az internetert? Korlatlan, ingyenes internet hozzaferes a FreeStarttol.
Probald ki most! http://www.freestart.hu



More information about the uClibc mailing list