diff --git a/e2fsprogs/ext2fs/bitops.h b/e2fsprogs/ext2fs/bitops.h index c4c33819c..96db548d6 100644 --- a/e2fsprogs/ext2fs/bitops.h +++ b/e2fsprogs/ext2fs/bitops.h @@ -320,8 +320,8 @@ _INLINE_ __u32 ext2fs_swab32(__u32 val) #if !defined(_EXT2_HAVE_ASM_FINDBIT_) _INLINE_ int ext2fs_find_first_bit_set(void * addr, unsigned size) { - char *cp = (unsigned char *) addr; - int res = 0, d0; + unsigned char *cp = (unsigned char *) addr; + int res = 0, d0; if (!size) return 0; @@ -333,7 +333,7 @@ _INLINE_ int ext2fs_find_first_bit_set(void * addr, unsigned size) d0 = ffs(*cp); if (d0 == 0) return size; - + return res + d0 - 1; }