On Mon, Dec 12, 2016 at 10:53:42AM +0100, Martin Pieuchot wrote: > This is a just a cosmetic fix. Currently the netmask of flushed routes > is not printed correctly. The diff below fixes that. > > ok?
ok stsp@ > > Index: route.c > =================================================================== > RCS file: /cvs/src/sbin/route/route.c,v > retrieving revision 1.192 > diff -u -p -r1.192 route.c > --- route.c 24 Sep 2016 19:36:49 -0000 1.192 > +++ route.c 9 Dec 2016 13:20:04 -0000 > @@ -385,13 +385,17 @@ flushroutes(int argc, char **argv) > if (verbose) > print_rtmsg(rtm, rlen); > else { > + struct sockaddr *mask, *rti_info[RTAX_MAX]; > + > sa = (struct sockaddr *)(next + rtm->rtm_hdrlen); > - printf("%-20.20s ", rtm->rtm_flags & RTF_HOST ? > - routename(sa) : netname(sa, NULL)); /* XXX extract > - netmask */ > - sa = (struct sockaddr *) > - (ROUNDUP(sa->sa_len) + (char *)sa); > - printf("%-20.20s ", routename(sa)); > + > + get_rtaddrs(rtm->rtm_addrs, sa, rti_info); > + > + sa = rti_info[RTAX_DST]; > + mask = rti_info[RTAX_NETMASK]; > + > + p_sockaddr(sa, mask, rtm->rtm_flags, 20); > + p_sockaddr(rti_info[RTAX_GATEWAY], NULL, RTF_HOST, 20); > printf("done\n"); > } > } > Index: show.c > =================================================================== > RCS file: /cvs/src/sbin/route/show.c,v > retrieving revision 1.107 > diff -u -p -r1.107 show.c > --- show.c 5 Sep 2016 14:23:38 -0000 1.107 > +++ show.c 9 Dec 2016 13:19:44 -0000 > @@ -100,7 +100,6 @@ int WID_DST(int); > void pr_rthdr(int); > void p_rtentry(struct rt_msghdr *); > void pr_family(int); > -void p_sockaddr(struct sockaddr *, struct sockaddr *, int, int); > void p_sockaddr_mpls(struct sockaddr *, struct sockaddr *, int, int); > void p_flags(int, char *); > char *routename4(in_addr_t); > @@ -224,7 +223,7 @@ pr_rthdr(int af) > } > } > > -static void > +void > get_rtaddrs(int addrs, struct sockaddr *sa, struct sockaddr **rti_info) > { > int i; > Index: show.h > =================================================================== > RCS file: /cvs/src/sbin/route/show.h,v > retrieving revision 1.11 > diff -u -p -r1.11 show.h > --- show.h 18 Jul 2015 00:05:02 -0000 1.11 > +++ show.h 9 Dec 2016 13:19:55 -0000 > @@ -28,7 +28,9 @@ union sockunion { > struct sockaddr_mpls smpls; > }; > > +void get_rtaddrs(int, struct sockaddr *, struct sockaddr **); > void p_rttables(int, u_int, int, char); > +void p_sockaddr(struct sockaddr *, struct sockaddr *, int, int); > char *routename(struct sockaddr *); > char *netname(struct sockaddr *, struct sockaddr *); > char *mpls_op(u_int32_t); >