mirror of
https://github.com/outbackdingo/UltraGrid.git
synced 2026-03-21 20:40:27 +00:00
hd-rum-translator: use get_sockaddr_str()
get_sockaddr_str is used also for create-port in the "dynamic" conference mode, so this is perhaps better because the calls are symmetric. Also it will allow eg. to add scope ID later to both create- and delete-port in the single call. get_replica_mod_name() is kept for the old/static use cases when create-port is called explicitly or from an argument on command-line. Then the address can be also the hostname (or a IP addresss in non-canonical form) and it is up to the user to use the same host:addr representation.
This commit is contained in:
@@ -888,11 +888,9 @@ public:
|
||||
log_msg(LOG_LEVEL_NOTICE, "Removing participant\n");
|
||||
std::string msg = "delete-port ";
|
||||
auto addr = reinterpret_cast<struct sockaddr *>(&it->addr);
|
||||
char addr_str[128];
|
||||
get_sockaddr_addr_str(addr, addr_str, sizeof(addr_str));
|
||||
char *replica_name = get_replica_mod_name(addr_str, get_sockaddr_addr_port(addr));
|
||||
msg += replica_name;
|
||||
free(replica_name);
|
||||
char replica_name[ADDR_STR_BUF_LEN];
|
||||
msg += get_sockaddr_str(addr, replica_name,
|
||||
sizeof replica_name);
|
||||
|
||||
std::swap(*it, participants.back());
|
||||
participants.pop_back();
|
||||
|
||||
@@ -411,7 +411,9 @@ bool is_ipv6_supported(void)
|
||||
return true;
|
||||
}
|
||||
|
||||
unsigned get_sockaddr_addr_port(const struct sockaddr *sa){
|
||||
static unsigned
|
||||
get_sockaddr_addr_port(const struct sockaddr *sa)
|
||||
{
|
||||
unsigned port = 0;
|
||||
if (sa->sa_family == AF_INET6) {
|
||||
port = ntohs(((const struct sockaddr_in6 *) (const void *) sa)
|
||||
@@ -426,13 +428,9 @@ unsigned get_sockaddr_addr_port(const struct sockaddr *sa){
|
||||
return port;
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns the input buffer (buf)
|
||||
*/
|
||||
char *
|
||||
static char *
|
||||
get_sockaddr_addr_str(const struct sockaddr *sa, char *buf, size_t n)
|
||||
{
|
||||
assert(n >= IN6_MAX_ASCII_LEN + 3 /* []: */ + 1 /* \0 */);
|
||||
const void *src = NULL;
|
||||
if (sa->sa_family == AF_INET6) {
|
||||
snprintf(buf, n, "[");
|
||||
@@ -458,11 +456,13 @@ get_sockaddr_addr_str(const struct sockaddr *sa, char *buf, size_t n)
|
||||
}
|
||||
|
||||
/**
|
||||
* @param n size of buf; must be at least ADDR_STR_BUF_LEN
|
||||
* @returns the input buffer (buf)
|
||||
*/
|
||||
char *
|
||||
get_sockaddr_str(const struct sockaddr *sa, char *buf, size_t n)
|
||||
{
|
||||
assert(n >= ADDR_STR_BUF_LEN);
|
||||
get_sockaddr_addr_str(sa, buf, n);
|
||||
|
||||
unsigned port = get_sockaddr_addr_port(sa);
|
||||
|
||||
@@ -70,8 +70,6 @@ bool is_host_private(const char *hostname);
|
||||
uint16_t socket_get_recv_port(int fd);
|
||||
bool get_local_addresses(struct sockaddr_storage *addrs, size_t *len, int ip_version);
|
||||
bool is_ipv6_supported(void);
|
||||
char *get_sockaddr_addr_str(const struct sockaddr *sa, char *buf, size_t n);
|
||||
unsigned get_sockaddr_addr_port(const struct sockaddr *sa);
|
||||
char *get_sockaddr_str(const struct sockaddr *sa, char *buf, size_t n);
|
||||
const char *ug_gai_strerror(int errcode);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user