]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix bugs in PQhost().
authorFujii Masao <fujii@postgresql.org>
Thu, 23 Jan 2014 14:00:30 +0000 (23:00 +0900)
committerFujii Masao <fujii@postgresql.org>
Thu, 23 Jan 2014 14:00:30 +0000 (23:00 +0900)
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

index 18fcb0c23724c7344f62f36adcb4f5ef9b0c73dc..7002242a1fa7ed61449c529d678b6c628b00f888 100644 (file)
@@ -5183,7 +5183,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 *