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:
@ -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);
|
||||
|
||||
|
Reference in New Issue
Block a user