lib/utils: introduce format_host_rta()
This simple macro eases calling format_host() 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 1ec9294..67d551b 100644
--- a/ip/iproute.c
+++ b/ip/iproute.c
@@ -376,10 +376,8 @@
r->rtm_dst_len
);
} else {
- fprintf(fp, "%s ", format_host(r->rtm_family,
- RTA_PAYLOAD(tb[RTA_DST]),
- RTA_DATA(tb[RTA_DST]))
- );
+ fprintf(fp, "%s ",
+ format_host_rta(r->rtm_family, tb[RTA_DST]));
}
} else if (r->rtm_dst_len) {
fprintf(fp, "0/%d ", r->rtm_dst_len);
@@ -394,19 +392,15 @@
r->rtm_src_len
);
} else {
- fprintf(fp, "from %s ", format_host(r->rtm_family,
- RTA_PAYLOAD(tb[RTA_SRC]),
- RTA_DATA(tb[RTA_SRC]))
- );
+ fprintf(fp, "from %s ",
+ format_host_rta(r->rtm_family, tb[RTA_SRC]));
}
} else if (r->rtm_src_len) {
fprintf(fp, "from 0/%u ", r->rtm_src_len);
}
if (tb[RTA_NEWDST]) {
- fprintf(fp, "as to %s ", format_host(r->rtm_family,
- RTA_PAYLOAD(tb[RTA_NEWDST]),
- RTA_DATA(tb[RTA_NEWDST]))
- );
+ fprintf(fp, "as to %s ",
+ format_host_rta(r->rtm_family, tb[RTA_NEWDST]));
}
if (tb[RTA_ENCAP])
@@ -419,9 +413,7 @@
if (tb[RTA_GATEWAY] && filter.rvia.bitlen != host_len) {
fprintf(fp, "via %s ",
- format_host(r->rtm_family,
- RTA_PAYLOAD(tb[RTA_GATEWAY]),
- RTA_DATA(tb[RTA_GATEWAY])));
+ format_host_rta(r->rtm_family, tb[RTA_GATEWAY]));
}
if (tb[RTA_VIA]) {
size_t len = RTA_PAYLOAD(tb[RTA_VIA]) - 2;
@@ -653,16 +645,13 @@
tb[RTA_ENCAP]);
if (tb[RTA_NEWDST]) {
fprintf(fp, " as to %s ",
- format_host(r->rtm_family,
- RTA_PAYLOAD(tb[RTA_NEWDST]),
- RTA_DATA(tb[RTA_NEWDST]),
- abuf, sizeof(abuf)));
+ format_host_rta(r->rtm_family,
+ tb[RTA_NEWDST]));
}
if (tb[RTA_GATEWAY]) {
fprintf(fp, " via %s ",
- format_host(r->rtm_family,
- RTA_PAYLOAD(tb[RTA_GATEWAY]),
- RTA_DATA(tb[RTA_GATEWAY])));
+ format_host_rta(r->rtm_family,
+ tb[RTA_GATEWAY]));
}
if (tb[RTA_VIA]) {
size_t len = RTA_PAYLOAD(tb[RTA_VIA]) - 2;