Commit c6b51be9 by Richard Kenner

(my_strerror): Return "cannot access" if errno is 0.

(perror_with_name, pfatal_with_name, perror_exec): Don't assume that
the returned value from my_strerror contains no '%'s.
(sys_nerr): Declare only if HAVE_STRERROR is not defined.

From-SVN: r10714
parent 49381011
...@@ -175,8 +175,8 @@ extern char *getenv (); ...@@ -175,8 +175,8 @@ extern char *getenv ();
extern int errno; extern int errno;
#endif #endif
extern int sys_nerr;
#ifndef HAVE_STRERROR #ifndef HAVE_STRERROR
extern int sys_nerr;
#if defined(bsd4_4) #if defined(bsd4_4)
extern const char *const sys_errlist[]; extern const char *const sys_errlist[];
#else #else
...@@ -1023,7 +1023,7 @@ my_strerror(e) ...@@ -1023,7 +1023,7 @@ my_strerror(e)
static char buffer[30]; static char buffer[30];
if (!e) if (!e)
return ""; return "cannot access";
if (e > 0 && e < sys_nerr) if (e > 0 && e < sys_nerr)
return sys_errlist[e]; return sys_errlist[e];
...@@ -4722,40 +4722,22 @@ static void ...@@ -4722,40 +4722,22 @@ static void
pfatal_with_name (name) pfatal_with_name (name)
char *name; char *name;
{ {
char *s; fatal ("%s: %s", name, my_strerror (errno));
if (errno < sys_nerr)
s = concat ("%s: ", my_strerror( errno ));
else
s = "cannot open `%s'";
fatal (s, name);
} }
static void static void
perror_with_name (name) perror_with_name (name)
char *name; char *name;
{ {
char *s; error ("%s: %s", name, my_strerror (errno));
if (errno < sys_nerr)
s = concat ("%s: ", my_strerror( errno ));
else
s = "cannot open `%s'";
error (s, name);
} }
static void static void
perror_exec (name) perror_exec (name)
char *name; char *name;
{ {
char *s; error ("installation problem, cannot exec `%s': %s",
name, my_strerror (errno));
if (errno < sys_nerr)
s = concat ("installation problem, cannot exec `%s': ",
my_strerror (errno));
else
s = "installation problem, cannot exec `%s'";
error (s, name);
} }
/* More 'friendly' abort that prints the line and file. /* More 'friendly' abort that prints the line and file.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment