Skip to content

Commit ea311bf

Browse files
committed
Fix bugs in PQhost().
In the platform that doesn't support Unix-domain socket, when neither host nor hostaddr are specified, the default host 'localhost' is used to connect to the server and PQhost() must return that, but it didn't. This patch fixes PQhost() so that it returns the default host in that case. Also this patch fixes PQhost() so that it doesn't return Unix-domain socket directory path in the platform that doesn't support Unix-domain socket. Back-patch to all supported versions.
1 parent c0e6169 commit ea311bf

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/interfaces/libpq/fe-connect.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5148,7 +5148,16 @@ PQhost(const PGconn *conn)
51485148
{
51495149
if (!conn)
51505150
return NULL;
5151-
return conn->pghost ? conn->pghost : conn->pgunixsocket;
5151+
if (conn->pghost != NULL && conn->pghost[0] != '\0')
5152+
return conn->pghost;
5153+
else
5154+
{
5155+
#ifdef HAVE_UNIX_SOCKETS
5156+
return conn->pgunixsocket;
5157+
#else
5158+
return DefaultHost;
5159+
#endif
5160+
}
51525161
}
51535162

51545163
char *

0 commit comments

Comments
 (0)