mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2026-05-26 21:38:23 -04:00
pulse-server: use pw_net_get_ip instead of inet_ntop
This commit is contained in:
parent
62846acb3f
commit
8860dc809d
1 changed files with 7 additions and 21 deletions
|
|
@ -791,31 +791,17 @@ static int parse_ipv4_address(const char *address, struct sockaddr_in *out)
|
||||||
static int format_ip_address(const struct sockaddr_storage *addr, char *buffer, size_t buflen)
|
static int format_ip_address(const struct sockaddr_storage *addr, char *buffer, size_t buflen)
|
||||||
{
|
{
|
||||||
char ip[INET6_ADDRSTRLEN];
|
char ip[INET6_ADDRSTRLEN];
|
||||||
const void *src;
|
bool is_ipv4 = true;
|
||||||
bool is_ipv6 = false;
|
uint16_t port = 0;
|
||||||
int port;
|
int res;
|
||||||
|
|
||||||
switch (addr->ss_family) {
|
if ((res = pw_net_get_ip(addr, ip, sizeof(ip), &is_ipv4, &port)) < 0)
|
||||||
case AF_INET:
|
return res;
|
||||||
src = &((struct sockaddr_in *) addr)->sin_addr.s_addr;
|
|
||||||
port = ntohs(((struct sockaddr_in *) addr)->sin_port);
|
|
||||||
break;
|
|
||||||
case AF_INET6:
|
|
||||||
is_ipv6 = true;
|
|
||||||
src = &((struct sockaddr_in6 *) addr)->sin6_addr.s6_addr;
|
|
||||||
port = ntohs(((struct sockaddr_in6 *) addr)->sin6_port);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return -EAFNOSUPPORT;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (inet_ntop(addr->ss_family, src, ip, sizeof(ip)) == NULL)
|
|
||||||
return -errno;
|
|
||||||
|
|
||||||
return snprintf(buffer, buflen, "%s%s%s:%d",
|
return snprintf(buffer, buflen, "%s%s%s:%d",
|
||||||
is_ipv6 ? "[" : "",
|
is_ipv4 ? "" : "[",
|
||||||
ip,
|
ip,
|
||||||
is_ipv6 ? "]" : "",
|
is_ipv4 ? "" : "]",
|
||||||
port);
|
port);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue