Subject: Re: [iproute2 PATCH] tc: handle is not used without containing ':'

From: Sergei Shtylyov <[email-masked]>
Date: Thu, 13 Jun 2013 21:39:21 +0400

Hello.

On 06/13/2013 09:20 PM, Philipp Schönberger wrote:

> Handle is not used if it is not containing a ':' . This is
> reproducible with these commands.

> /sbin/tc qdisc add dev lo parent 0xffffffff handle 0x10000 pfifo limit 10

> /sbin/tc qdisc show dev lo
> qdisc pfifo 8001: root refcnt 2 limit 10p

> Signed-off-by: Philipp Schönberger <[email-masked]>
> --- iproute2-2.6.33/tc/tc_util.c    2010-02-25 04:56:50.000000000 +0100
> +++ /home/pschoen/tc_util.c    2013-06-13 18:31:00.347135625 +0200
> @@ -50,9 +50,14 @@
>       maj = strtoul(str, &p, 16);
>       if (p == str)
>           return -1;
> -    maj <<= 16;
> -    if (*p != ':' && *p!=0)
> -        return -1;
> +    if (*p != ':')
> +    {
> +        if(*p!=0)

    Maybe you should be more consistent in using space after *if*? :-)

> +            return -1;
> +        else if (TC_H_MIN(maj) != 0)
> +            return -1;
> +    }else

    Space after } seems a good idea too...

> +        maj <<= 16;
>   ok:
>       *h = maj;
>       return 0;

WBR, Sergei