sys_nerr, sys_errlist

Started by Peter Eisentrautover 25 years ago2 messages
#1Peter Eisentraut
peter_e@gmx.net

I suppose there isn't any good reason that elog.c and exc.c refer to
sys_nerr and sys_errlist directly rather than using strerror() (probably
an artifact from before port/strerror.c was added?) and given that it is
provably unportable to do so (Cygwin) I'm inclined to make the obvious
fix.

--
Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Peter Eisentraut (#1)
Re: sys_nerr, sys_errlist

Peter Eisentraut <peter_e@gmx.net> writes:

I suppose there isn't any good reason that elog.c and exc.c refer to
sys_nerr and sys_errlist directly rather than using strerror()

I don't see any direct references to sys_errlist. The references to
sys_nerr are necessary to avoid coredump with an out-of-range errno
value --- at least on machines where strerror() is a macro that expands
to an unchecked array access.

an artifact from before port/strerror.c was added?) and given that it is
provably unportable to do so (Cygwin) I'm inclined to make the obvious
fix.

I think the obvious fix is to supply a sys_nerr value on Cygwin.

regards, tom lane