const char *user, *db, *host;
char host6[PGADDR_BUF];
int port;
+ char stype;
/* no prefix */
if (!sock)
return 0;
/* format prefix */
+ stype = is_server_socket(sock) ? 'S' : 'C';
+ port = pga_port(&sock->remote_addr);
db = sock->pool ? sock->pool->db->name : "(nodb)";
user = sock->auth_user ? sock->auth_user->name : "(nouser)";
if (pga_is_unix(&sock->remote_addr)) {
} else {
host = pga_ntop(&sock->remote_addr, host6, sizeof(host6));
}
- port = pga_port(&sock->remote_addr);
- return snprintf(dst, dstlen, "%c-%p: %s/%s@%s:%d ",
- is_server_socket(sock) ? 'S' : 'C',
- sock, db, user, host, port);
+ if (pga_family(&sock->remote_addr) == AF_INET6)
+ return snprintf(dst, dstlen, "%c-%p: %s/%s@[%s]:%d ",
+ stype, sock, db, user, host, port);
+ else
+ return snprintf(dst, dstlen, "%c-%p: %s/%s@%s:%d ",
+ stype, sock, db, user, host, port);
}
const char *bin2hex(const uint8_t *src, unsigned srclen, char *dst, unsigned dstlen)
}
}
-static inline unsigned pga_family(const PgAddr *a)
-{
- return a->sa.sa_family;
-}
-
int pga_cmp_addr(const PgAddr *a, const PgAddr *b)
{
if (pga_family(a) != pga_family(b))