vfs: tidy up fs/namei.c byte-repeat word constants

In commit commit 1de5b41cd3 ("fs/namei.c: fix warnings on 32-bit")
Andrew said that there must be a tidier way of doing this.

This is that tidier way.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Linus Torvalds 2012-03-22 15:58:27 -07:00
parent 1f1e6e523e
commit 989412bbd2
1 changed files with 4 additions and 9 deletions

View File

@ -1455,15 +1455,10 @@ done:
}
EXPORT_SYMBOL(full_name_hash);
#ifdef CONFIG_64BIT
#define ONEBYTES 0x0101010101010101ul
#define SLASHBYTES 0x2f2f2f2f2f2f2f2ful
#define HIGHBITS 0x8080808080808080ul
#else
#define ONEBYTES 0x01010101ul
#define SLASHBYTES 0x2f2f2f2ful
#define HIGHBITS 0x80808080ul
#endif
#define REPEAT_BYTE(x) ((~0ul / 0xff) * (x))
#define ONEBYTES REPEAT_BYTE(0x01)
#define SLASHBYTES REPEAT_BYTE('/')
#define HIGHBITS REPEAT_BYTE(0x80)
/* Return the high bit set in the first byte that is a zero */
static inline unsigned long has_zero(unsigned long a)