diff options
author | Jaegeuk Kim <jaegeuk@kernel.org> | 2015-12-15 10:10:15 -0800 |
---|---|---|
committer | Greg Wallace <greg@gregtwallace.com> | 2016-01-19 22:02:21 -0500 |
commit | b54e4b5b59ba7aa242e672fd86ffa9ac4d311193 (patch) | |
tree | 69da0a7ca30dc9e3a17b023aa676784f6d7b9cfc /lib | |
parent | 7d95d389beaf8f95d20cc55dbd56553386587dee (diff) | |
download | android_external_f2fs-tools-b54e4b5b59ba7aa242e672fd86ffa9ac4d311193.tar.gz android_external_f2fs-tools-b54e4b5b59ba7aa242e672fd86ffa9ac4d311193.tar.bz2 android_external_f2fs-tools-b54e4b5b59ba7aa242e672fd86ffa9ac4d311193.zip |
lib: fix test_bit_le functions
This patch fixes test_bit_le functions for dentry bit operations.
Change-Id: I3f8c03e54e3f6b068ccaa9d498d984340065f90d
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libf2fs.c | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/lib/libf2fs.c b/lib/libf2fs.c index cd496a1..b90e729 100644 --- a/lib/libf2fs.c +++ b/lib/libf2fs.c @@ -236,37 +236,31 @@ int get_bits_in_byte(unsigned char n) return bits_in_byte[n]; } -int set_bit(unsigned int nr, void *addr) +int test_and_set_bit_le(unsigned int nr, unsigned char *addr) { int mask, retval; - unsigned char *ADDR = (unsigned char *)addr; - ADDR += nr >> 3; + addr += nr >> 3; mask = 1 << ((nr & 0x07)); - retval = mask & *ADDR; - *ADDR |= mask; + retval = mask & *addr; + *addr |= mask; return retval; } -int clear_bit(unsigned int nr, void *addr) +int test_and_clear_bit_le(unsigned int nr, unsigned char *addr) { int mask, retval; - unsigned char *ADDR = (unsigned char *)addr; - ADDR += nr >> 3; + addr += nr >> 3; mask = 1 << ((nr & 0x07)); - retval = mask & *ADDR; - *ADDR &= ~mask; + retval = mask & *addr; + *addr &= ~mask; return retval; } -int test_bit(unsigned int nr, const void *addr) +int test_bit_le(unsigned int nr, const unsigned char *addr) { - const __u32 *p = (const __u32 *)addr; - - nr = nr ^ 0; - - return ((1 << (nr & 31)) & (p[nr >> 5])) != 0; + return ((1 << (nr & 7)) & (addr[nr >> 3])); } int f2fs_test_bit(unsigned int nr, const char *p) |