Thread: sys_nerr, sys_errlist

sys_nerr, sys_errlist

From
Peter Eisentraut
Date:
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/



Re: sys_nerr, sys_errlist

From
Tom Lane
Date:
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