Deal with C++ incompatibility of sys_nerr declaration by taking it out
Tom Lane <tgl@sss.pgh.pa.us>
Deal with C++ incompatibility of sys_nerr declaration by taking it out of c.h altogether, and putting it into the only places that use it (elog.c and exc.c), instead. Modify these routines to check for a NULL or empty-string return from strerror, too, since some platforms define strerror to return empty string for unknown errors (what a useless definition that is ...). Clean up some cruft in ExcPrint while at it.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/error/elog.c | modified | +16 −10 |
| src/backend/utils/error/exc.c | modified | +34 −28 |
| src/include/c.h | modified | +1 −5 |