From f0b34d2d98ffcd135c92dcba563d4bc47632333c Mon Sep 17 00:00:00 2001 From: Andreas Henriksson Date: Fri, 29 Aug 2008 19:52:48 +0200 Subject: [PATCH] ip a flush: unnecessarily chatty when there's nothing to flush On tis, 2008-07-22 at 20:21 +0200, martin f krafft wrote: > piper:~|master|% sudo ip a flush dev eth0 >/dev/null > Nothing to flush. > > It should just shut up, shouldn't it? :) The patch below makes the "Nothing to flush" only visible when show statistics flag is given, and then only to stdout rather then stderr. $ sudo ./ip/ip -s addr flush dev skif Nothing to flush. $ sudo ./ip/ip addr flush dev skif $ (See http://bugs.debian.org/492196 ) --- ip/ipaddress.c | 10 ++++++---- ip/ipneigh.c | 10 ++++++---- ip/iproute.c | 11 ++++++----- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/ip/ipaddress.c b/ip/ipaddress.c index 373312f2c..51471e86d 100644 --- a/ip/ipaddress.c +++ b/ip/ipaddress.c @@ -697,10 +697,12 @@ static int ipaddr_list_or_flush(int argc, char **argv, int flush) exit(1); } if (filter.flushed == 0) { - if (round == 0) { - fprintf(stderr, "Nothing to flush.\n"); - } else if (show_stats) - printf("*** Flush is complete after %d round%s ***\n", round, round>1?"s":""); + if (show_stats) { + if (round == 0) + printf("Nothing to flush.\n"); + else + printf("*** Flush is complete after %d round%s ***\n", round, round>1?"s":""); + } fflush(stdout); return 0; } diff --git a/ip/ipneigh.c b/ip/ipneigh.c index fa0e41dc0..30c7c72db 100644 --- a/ip/ipneigh.c +++ b/ip/ipneigh.c @@ -402,10 +402,12 @@ int do_show_or_flush(int argc, char **argv, int flush) exit(1); } if (filter.flushed == 0) { - if (round == 0) { - fprintf(stderr, "Nothing to flush.\n"); - } else if (show_stats) - printf("*** Flush is complete after %d round%s ***\n", round, round>1?"s":""); + if (show_stats) { + if (round == 0) + printf("Nothing to flush.\n"); + else + printf("*** Flush is complete after %d round%s ***\n", round, round>1?"s":""); + } fflush(stdout); return 0; } diff --git a/ip/iproute.c b/ip/iproute.c index 2a8f3f839..6a2ea05f1 100644 --- a/ip/iproute.c +++ b/ip/iproute.c @@ -1209,11 +1209,12 @@ static int iproute_list_or_flush(int argc, char **argv, int flush) exit(1); } if (filter.flushed == 0) { - if (round == 0) { - if (!filter.cloned || do_ipv6 == AF_INET6) - fprintf(stderr, "Nothing to flush.\n"); - } else if (show_stats) - printf("*** Flush is complete after %d round%s ***\n", round, round>1?"s":""); + if (show_stats) { + if (round == 0 && (!filter.cloned || do_ipv6 == AF_INET6)) + printf("Nothing to flush.\n"); + else + printf("*** Flush is complete after %d round%s ***\n", round, round>1?"s":""); + } fflush(stdout); return 0; } -- 2.47.2