Index: sbin/route/route_netlink.c =================================================================== --- sbin/route/route_netlink.c +++ sbin/route/route_netlink.c @@ -271,22 +271,26 @@ hdr = snl_read_reply(ss, hdr->nlmsg_seq); if (nl_type == NL_RTM_GETROUTE) { - if (hdr->nlmsg_type == NL_RTM_NEWROUTE) + if (hdr->nlmsg_type == NL_RTM_NEWROUTE) { print_getmsg(h, hdr, dst); - else { - snl_parse_errmsg(ss, hdr, &e); - if (e.error == ESRCH) - warn("route has not been found"); - else - warn("message indicates error %d", e.error); + return (0); } - - return (0); } - if (snl_parse_errmsg(ss, hdr, &e)) + if (snl_parse_errmsg(ss, hdr, &e)) { + switch (e.error) { + case (ESRCH): + warnx("route has not been found"); + break; + default: + warnc(e.error, "message indicates error"); + break; + } + return (e.error); + } } + return (EINVAL); }