ok

Florian Obser([email protected]) on 2018.04.29 22:04:47 +0200:
> 
> tableid is either initialized to the current routing table or to the
> one specified by the T flag. No need to pass a flag around if the
> tableid is valid. It always is.
>     
> This code is now in sync between flushroutes() and p_rttables().
> 
> OK?
> 
> diff --git route.c route.c
> index 229cca1491d..5e1aacd83e2 100644
> --- route.c
> +++ route.c
> @@ -750,7 +750,7 @@ show(int argc, char *argv[])
>                       usage(*argv);
>       }
>  
> -     p_rttables(af, tableid, Tflag, prio);
> +     p_rttables(af, tableid, prio);
>       return (0);
>  }
>  
> diff --git show.c show.c
> index bfd726e6a20..f67b45b359f 100644
> --- show.c
> +++ show.c
> @@ -111,12 +111,12 @@ char    *netname6(struct sockaddr_in6 *, struct 
> sockaddr_in6 *);
>   * Print routing tables.
>   */
>  void
> -p_rttables(int af, u_int tableid, int hastable, char prio)
> +p_rttables(int af, u_int tableid, char prio)
>  {
>       struct rt_msghdr *rtm;
>       char *buf = NULL, *next, *lim = NULL;
>       size_t needed;
> -     int mib[7], mcnt;
> +     int mib[7];
>       struct sockaddr *sa;
>  
>       mib[0] = CTL_NET;
> @@ -125,20 +125,16 @@ p_rttables(int af, u_int tableid, int hastable, char 
> prio)
>       mib[3] = af;
>       mib[4] = NET_RT_DUMP;
>       mib[5] = prio;
> -     if (hastable) {
> -             mib[6] = tableid;
> -             mcnt = 7;
> -     } else
> -             mcnt = 6;
> +     mib[6] = tableid;
>  
>       while (1) {
> -             if (sysctl(mib, mcnt, NULL, &needed, NULL, 0) == -1)
> +             if (sysctl(mib, 7, NULL, &needed, NULL, 0) == -1)
>                       err(1, "route-sysctl-estimate");
>               if (needed == 0)
>                       break;
>               if ((buf = realloc(buf, needed)) == NULL)
>                       err(1, NULL);
> -             if (sysctl(mib, mcnt, buf, &needed, NULL, 0) == -1) {
> +             if (sysctl(mib, 7, buf, &needed, NULL, 0) == -1) {
>                       if (errno == ENOMEM)
>                               continue;
>                       err(1, "sysctl of routing table");
> diff --git show.h show.h
> index 14c8b0e9c11..0a06fd8edf6 100644
> --- show.h
> +++ show.h
> @@ -29,7 +29,7 @@ union sockunion {
>  };
>  
>  void  get_rtaddrs(int, struct sockaddr *, struct sockaddr **);
> -void  p_rttables(int, u_int, int, char);
> +void  p_rttables(int, u_int, char);
>  void  p_sockaddr(struct sockaddr *, struct sockaddr *, int, int);
>  char *routename(struct sockaddr *);
>  char *netname(struct sockaddr *, struct sockaddr *);
> 
> -- 
> I'm not entirely sure you are real.
> 

Reply via email to