From 0a502b21e30be835dcad8d9c6023a41da8709eb1 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Sun, 27 Oct 2013 12:26:47 -0700 Subject: Fix handling of qdis without options Some qdisc like htb want the parse_qopt to be called even if no options present. Fixes regression caused by: e9e78b0db0e023035e346ba67de838be851eb665 is the first bad commit commit e9e78b0db0e023035e346ba67de838be851eb665 Author: Stephen Hemminger Date: Mon Aug 26 08:41:19 2013 -0700 tc: allow qdisc without options --- tc/tc_qdisc.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'tc/tc_qdisc.c') diff --git a/tc/tc_qdisc.c b/tc/tc_qdisc.c index 3002a56c..e3048580 100644 --- a/tc/tc_qdisc.c +++ b/tc/tc_qdisc.c @@ -137,15 +137,16 @@ static int tc_qdisc_modify(int cmd, unsigned flags, int argc, char **argv) if (est.ewma_log) addattr_l(&req.n, sizeof(req), TCA_RATE, &est, sizeof(est)); - if (argc) { - if (q) { - if (!q->parse_qopt) { - fprintf(stderr, "qdisc '%s' does not support option parsing\n", k); - return -1; - } + if (q) { + if (q->parse_qopt) { if (q->parse_qopt(q, argc, argv, &req.n)) return 1; - } else { + } else if (argc) { + fprintf(stderr, "qdisc '%s' does not support option parsing\n", k); + return -1; + } + } else { + if (argc) { if (matches(*argv, "help") == 0) usage(); -- cgit v1.2.3