lib/utils: introduce rt_addr_n2a_rta()
This simple macro eases calling rt_addr_n2a() with data from an rt_attr
pointer.
Signed-off-by: Phil Sutter <phil@nwl.cc>
diff --git a/ip/iproute.c b/ip/iproute.c
index 67d551b..8224d7f 100644
--- a/ip/iproute.c
+++ b/ip/iproute.c
@@ -370,11 +370,9 @@
if (tb[RTA_DST]) {
if (r->rtm_dst_len != host_len) {
- fprintf(fp, "%s/%u ", rt_addr_n2a(r->rtm_family,
- RTA_PAYLOAD(tb[RTA_DST]),
- RTA_DATA(tb[RTA_DST])),
- r->rtm_dst_len
- );
+ fprintf(fp, "%s/%u ",
+ rt_addr_n2a_rta(r->rtm_family, tb[RTA_DST]),
+ r->rtm_dst_len);
} else {
fprintf(fp, "%s ",
format_host_rta(r->rtm_family, tb[RTA_DST]));
@@ -386,11 +384,9 @@
}
if (tb[RTA_SRC]) {
if (r->rtm_src_len != host_len) {
- fprintf(fp, "from %s/%u ", rt_addr_n2a(r->rtm_family,
- RTA_PAYLOAD(tb[RTA_SRC]),
- RTA_DATA(tb[RTA_SRC])),
- r->rtm_src_len
- );
+ fprintf(fp, "from %s/%u ",
+ rt_addr_n2a_rta(r->rtm_family, tb[RTA_SRC]),
+ r->rtm_src_len);
} else {
fprintf(fp, "from %s ",
format_host_rta(r->rtm_family, tb[RTA_SRC]));
@@ -439,9 +435,7 @@
and symbolic name will not be useful.
*/
fprintf(fp, " src %s ",
- rt_addr_n2a(r->rtm_family,
- RTA_PAYLOAD(tb[RTA_PREFSRC]),
- RTA_DATA(tb[RTA_PREFSRC])));
+ rt_addr_n2a_rta(r->rtm_family, tb[RTA_PREFSRC]));
}
if (tb[RTA_PRIORITY])
fprintf(fp, " metric %u ", rta_getattr_u32(tb[RTA_PRIORITY]));