rk9005@cca.ucsf.edu (Roland McGrath) (01/25/88)
Well, let's try this again ...
Why doesn't the standard declare strerror as
const char *strerror(int errnum);
and similarly for all functions that return pointers to
data the user is not supposed to modify?
With a compiler that puts string literals in read-only memory,
with sys_errlist (or whatever) defined as:
const char *sys_errlist[] = { "Error 0", ... };
if the user tries to modify the string returned by strerror,
it might cause some illegal instruction fault or something.
Is there any reason why it is declared as "char *"??
--
Roland McGrath
UUCP: ...!ucbvax!lbl-rtsg.arpa!roland
ARPA: roland@rtsg.lbl.gov