postgres.git / summary / log / commit / refs

commit    996b21cbf24d0ff2ee16c1043fe443ae623474ea
Author:   Fujii Masao <fujii@postgresql.org>
Date:     Thu Jan 23 14:02:03 2014 +0000
First released in: 9.4.0, 8.4.20, 9.0.16, 9.1.12, 9.2.7, 9.3.3

    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.


src/interfaces/libpq/fe-connect.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index cc465404a18..d897a408478 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -4291,7 +4291,16 @@ PQhost(const PGconn *conn) { if (!conn) return NULL; - return conn->pghost ? conn->pghost : conn->pgunixsocket; + if (conn->pghost != NULL && conn->pghost[0] != '\0') + return conn->pghost; + else + { +#ifdef HAVE_UNIX_SOCKETS + return conn->pgunixsocket; +#else + return DefaultHost; +#endif + } } char * [parent: f2eede9b5843]