]> git.baikalelectronics.ru Git - kernel.git/commit
fs/reiserfs/super.c: correct use of ! and &
authorJulia Lawall <julia@diku.dk>
Tue, 4 Mar 2008 22:29:20 +0000 (14:29 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 5 Mar 2008 00:35:16 +0000 (16:35 -0800)
commitcec8894c8bb18b1df7f2dbdab2824e04dcfb1888
treefafcd0515be62d661a092991083dda06423110b7
parentc7a97382eb0ad2a5f7d17279fe8ff5f8c200d8fc
fs/reiserfs/super.c: correct use of ! and &

In commit fbb1ccd43b0dfa2ef851295f09c104022e4e2c88 ("wmi: (!x & y)
strikes again"), a bug was fixed that involved converting !x & y to !(x
& y).  The code below shows the same pattern, and thus should perhaps be
fixed in the same way.

This is not tested and clearly changes the semantics, so it is only
something to consider.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@ expression E1,E2; @@
(
  !E1 & !E2
|
- !E1 & E2
+ !(E1 & E2)
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Cc: Chris Mason <chris.mason@oracle.com>
Cc: Jeff Mahoney <jeffm@suse.com>
Cc: Jan Kara <jack@ucw.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/reiserfs/super.c