Messages in this thread | | | Subject | Re: [patch] TTY: synclink, small cleanup in dtr_rts() | From | Valdis.Kletnieks@vt ... | Date | Tue, 29 Jan 2013 10:55:16 -0500 |
| |
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.... [unhandled content-type:application/pgp-signature] | |