On 5/30/19 11:52 AM, Stephen Hemminger wrote:
> On Wed, 29 May 2019 20:17:44 -0700
> David Ahern <dsah...@kernel.org> wrote:
> 
>> +
>> +static void print_nh_gateway(FILE *fp, const struct nhmsg *nhm,
>> +                          const struct rtattr *rta)
>> +{
>> +    const char *gateway = format_host_rta(nhm->nh_family, rta);
>> +
>> +    if (is_json_context())
>> +            print_string(PRINT_JSON, "gateway", NULL, gateway);
>> +    else {
>> +            fprintf(fp, "via ");
> 
> I was trying to get rid of all use of /fprintf(fp, / since it was
> indication of non-json code and fp is always stdout.
> 
> Maybe
>       print_string(PRINT_FP, NULL, "via ", NULL);
>       print_color_string(PRINT_ANY, ifa_family_color(nhm->nh_family),
>                       "gateway", "%s ", format_host_rta(nhm->nh_family, rta));
> 
> 
>                          
> 

The above is consistent with print_rta_gateway in ip/iproute.c. Since
the only difference between the 2 is the header struct, I will change
print_rta_gateway to take the address family over rtmsg and re-use it
for both paths.

Reply via email to