diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/interfaces/libpq/fe-connect.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index 44a3c715307..cdf8ee4929d 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -989,6 +989,8 @@ connectFailureMessage(PGconn *conn, int errorno) { char host_addr[NI_MAXHOST]; bool display_host_addr; + struct sockaddr_in *host_addr_struct = (struct sockaddr_in *) + &conn->raddr.addr; /* * Optionally display the network address with the hostname. @@ -996,9 +998,9 @@ connectFailureMessage(PGconn *conn, int errorno) */ if (conn->pghostaddr != NULL) strlcpy(host_addr, conn->pghostaddr, NI_MAXHOST); - else if (inet_net_ntop(conn->addr_cur->ai_family, - &conn->addr_cur->ai_addr, - conn->addr_cur->ai_family == AF_INET ? 32 : 128, + else if (inet_net_ntop(host_addr_struct->sin_family, + &host_addr_struct->sin_addr.s_addr, + host_addr_struct->sin_family == AF_INET ? 32 : 128, host_addr, sizeof(host_addr)) == NULL) strcpy(host_addr, "???"); |