Browse Source

unify call_stream_address46()

pull/163/head
Richard Fuchs 11 years ago
parent
commit
f2c66986cf
1 changed files with 15 additions and 50 deletions
  1. +15
    -50
      daemon/call.c

+ 15
- 50
daemon/call.c View File

@ -1959,65 +1959,30 @@ void call_destroy(struct call *c) {
/* XXX unify and move these */
static int call_stream_address4(char *o, struct packet_stream *ps, enum stream_address_format format,
/* XXX move these */
int call_stream_address46(char *o, struct packet_stream *ps, enum stream_address_format format,
int *len, const struct local_intf *ifa) int *len, const struct local_intf *ifa)
{ {
struct packet_stream *sink;
int l = 0; int l = 0;
const struct intf_address *ifa_addr;
if (format == SAF_NG) {
strcpy(o + l, "IP4 ");
l = 4;
}
if (is_addr_unspecified(&ps->advertised_endpoint.address)
&& !is_trickle_ice_address(&ps->advertised_endpoint)) {
strcpy(o + l, "0.0.0.0");
l += 7;
}
else {
l += sprintf(o + l, "%s", sockaddr_print_buf(&ifa->spec->address.advertised));
}
*len = l;
return AF_INET;
}
static int call_stream_address6(char *o, struct packet_stream *ps, enum stream_address_format format,
int *len, const struct local_intf *ifa)
{
int l = 0;
sink = packet_stream_sink(ps);
if (!ifa)
ifa = sink->selected_sfd->local_intf;
ifa_addr = &ifa->spec->address;
if (format == SAF_NG) {
strcpy(o + l, "IP6 ");
l += 4;
}
if (format == SAF_NG)
l += sprintf(o + l, "%s ", ifa_addr->addr.family->rfc_name);
if (is_addr_unspecified(&ps->advertised_endpoint.address) if (is_addr_unspecified(&ps->advertised_endpoint.address)
&& !is_trickle_ice_address(&ps->advertised_endpoint)) {
strcpy(o + l, "::");
l += 2;
}
else {
l += sprintf(o + l, "%s", sockaddr_print_buf(&ifa->spec->address.advertised));
}
&& !is_trickle_ice_address(&ps->advertised_endpoint))
l += sprintf(o + l, "%s", sockaddr_print_buf(&ps->advertised_endpoint.address));
else
l += sprintf(o + l, "%s", sockaddr_print_buf(&ifa_addr->advertised));
*len = l; *len = l;
return AF_INET6;
}
int call_stream_address46(char *o, struct packet_stream *ps, enum stream_address_format format,
int *len, const struct local_intf *ifa)
{
struct packet_stream *sink;
sink = packet_stream_sink(ps);
if (!ifa)
ifa = sink->selected_sfd->local_intf;
if (ifa->spec->address.addr.family->af == AF_INET) /* XXX fix */
return call_stream_address4(o, sink, format, len, ifa);
return call_stream_address6(o, sink, format, len, ifa);
return ifa_addr->addr.family->af;
} }


Loading…
Cancel
Save