Skip to content

Commit 3adf514

Browse files
committed
refactor network address formatting to a standalone function so it can be reused
1 parent 8e207e0 commit 3adf514

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

daemon/call_interfaces.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1945,3 +1945,13 @@ int call_interfaces_init() {
19451945

19461946
return 0;
19471947
}
1948+
1949+
1950+
void format_network_address(str* o, struct packet_stream *ps, struct sdp_ng_flags *flags, int keep_unspec) {
1951+
if (!is_addr_unspecified(&flags->parsed_media_address))
1952+
o->len = sprintf(o->s, "%s %s",
1953+
flags->parsed_media_address.family->rfc_name,
1954+
sockaddr_print_buf(&flags->parsed_media_address));
1955+
else
1956+
call_stream_address46(o->s, ps, SAF_NG, &o->len, NULL, keep_unspec);
1957+
}

daemon/sdp.c

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1571,7 +1571,7 @@ static int replace_network_address(struct sdp_chopper *chop, struct network_addr
15711571
struct packet_stream *ps, struct sdp_ng_flags *flags, int keep_unspec)
15721572
{
15731573
char buf[64];
1574-
int len;
1574+
str res = { buf, 0 };
15751575
struct packet_stream *sink = packet_stream_sink(ps);
15761576

15771577
if (is_addr_unspecified(&address->parsed)
@@ -1583,14 +1583,9 @@ static int replace_network_address(struct sdp_chopper *chop, struct network_addr
15831583

15841584
if (flags->media_address.s && is_addr_unspecified(&flags->parsed_media_address))
15851585
__parse_address(&flags->parsed_media_address, NULL, NULL, &flags->media_address);
1586-
1587-
if (!is_addr_unspecified(&flags->parsed_media_address))
1588-
len = sprintf(buf, "%s %s",
1589-
flags->parsed_media_address.family->rfc_name,
1590-
sockaddr_print_buf(&flags->parsed_media_address));
1591-
else
1592-
call_stream_address46(buf, ps, SAF_NG, &len, NULL, keep_unspec);
1593-
chopper_append(chop, buf, len);
1586+
1587+
format_network_address(&res, ps, flags, keep_unspec);
1588+
chopper_append(chop, res.s, res.len);
15941589

15951590
if (skip_over(chop, &address->address))
15961591
return -1;

include/call_interfaces.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,5 +124,6 @@ void ng_call_stats(struct call *call, const str *fromtag, const str *totag, benc
124124

125125
int call_interfaces_init(void);
126126

127+
void format_network_address(str* o, struct packet_stream *ps, struct sdp_ng_flags *flags, int keep_unspec);
127128

128129
#endif

0 commit comments

Comments
 (0)