Re: [patch] TTY: synclink, small cleanup in dtr_rts()

Valdis.Kletnieks
2013-01-29T15:56:44Z

[-- Attachment #1: Type: text/plain, Size: 705 bytes --]

On Sun, 27 Jan 2013 23:19:47 +0300, Dan Carpenter said:

> Yeah. I think it would be, but adding bitflags together instead of
> doing bitwise ORs is very common as well.

The fact it's common doesn't mean it's good programming practice,
or even correct. Consider:

#define F_FOO 0x01
#define F_BAR 0x02
#define F_BAZ 0x04

unsigned int flags = F_FOO;
...
flags |= F_BAR;

Now some time later, another code path does this:

flags += F_FOO;

If it was another |, it would be a no harm no foul class of bug.
But how long is it going to take you to figure out who set F_BAZ?

I wonder if there's a way to write a coccinelle patch to find places
where we do arithmetic operations on bitmasks....

[-- Attachment #2: Type: application/pgp-signature, Size: 865 bytes --]