1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-23 03:21:12 +03:00

Fix strerror_r by checking return type from configure.

This commit is contained in:
Bruce Momjian
2004-06-07 22:39:45 +00:00
parent 9136613803
commit a63d2168e9
5 changed files with 87 additions and 8 deletions

View File

@ -7,7 +7,7 @@
*
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
*
* $PostgreSQL: pgsql/src/port/thread.c,v 1.20 2004/04/23 18:15:55 momjian Exp $
* $PostgreSQL: pgsql/src/port/thread.c,v 1.21 2004/06/07 22:39:45 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -70,12 +70,17 @@ pqStrerror(int errnum, char *strerrbuf, size_t buflen)
{
#if defined(FRONTEND) && defined(ENABLE_THREAD_SAFETY) && defined(HAVE_STRERROR_R)
/* reentrant strerror_r is available */
/* some early standards had strerror_r returning char * */
strerror_r(errnum, strerrbuf, buflen);
return strerrbuf;
#ifdef STRERROR_R_INT
/* SUSv3 version */
if (strerror_r(errnum, strerrbuf, buflen) == 0)
return strerrbuf;
else
return NULL;
#else
/* GNU libc */
return strerror_r(errnum, strerrbuf, buflen);
#endif
#else
/* no strerror_r() available, just use strerror */
StrNCpy(strerrbuf, strerror(errnum), buflen);