+2005-06-30 Theodore Ts'o <tytso@mit.edu>
+
+ * bitops.h, bitops.c (ext2fs_set_bit, ext2fs_clear_bit,
+ ext2fs_test_bit): Change these function prototypes to be
+ unsigned int's. Negative bit numbers were never allowed
+ (and never made any sense), so this should be a safe
+ change. This is needed to allow safe use of block numbers
+ greater than or equal to 2**31.
+
2005-06-27 Stephen Tweedie <sct@redhat.com>
* ext2fs.h (ext2fs_resize_mem): Fix C99 strict type aliasing
* systems, as well as non-32 bit systems.
*/
-int ext2fs_set_bit(int nr,void * addr)
+int ext2fs_set_bit(unsigned int nr,void * addr)
{
int mask, retval;
unsigned char *ADDR = (unsigned char *) addr;
return retval;
}
-int ext2fs_clear_bit(int nr, void * addr)
+int ext2fs_clear_bit(unsigned int nr, void * addr)
{
int mask, retval;
unsigned char *ADDR = (unsigned char *) addr;
return retval;
}
-int ext2fs_test_bit(int nr, const void * addr)
+int ext2fs_test_bit(unsigned int nr, const void * addr)
{
int mask;
const unsigned char *ADDR = (const unsigned char *) addr;
*/
-extern int ext2fs_set_bit(int nr,void * addr);
-extern int ext2fs_clear_bit(int nr, void * addr);
-extern int ext2fs_test_bit(int nr, const void * addr);
+extern int ext2fs_set_bit(unsigned int nr,void * addr);
+extern int ext2fs_clear_bit(unsigned int nr, void * addr);
+extern int ext2fs_test_bit(unsigned int nr, const void * addr);
extern __u16 ext2fs_swab16(__u16 val);
extern __u32 ext2fs_swab32(__u32 val);
#define EXT2FS_ADDR (*(struct __dummy_h *) addr)
#define EXT2FS_CONST_ADDR (*(const struct __dummy_h *) addr)
-_INLINE_ int ext2fs_set_bit(int nr, void * addr)
+_INLINE_ int ext2fs_set_bit(unsigned int nr, void * addr)
{
int oldbit;
return oldbit;
}
-_INLINE_ int ext2fs_clear_bit(int nr, void * addr)
+_INLINE_ int ext2fs_clear_bit(unsigned int nr, void * addr)
{
int oldbit;
return oldbit;
}
-_INLINE_ int ext2fs_test_bit(int nr, const void * addr)
+_INLINE_ int ext2fs_test_bit(unsigned int nr, const void * addr)
{
int oldbit;
#define _EXT2_HAVE_ASM_BITOPS_
-_INLINE_ int ext2fs_set_bit(int nr,void * addr)
+_INLINE_ int ext2fs_set_bit(unsigned int nr,void * addr)
{
char retval;
return retval;
}
-_INLINE_ int ext2fs_clear_bit(int nr, void * addr)
+_INLINE_ int ext2fs_clear_bit(unsigned int nr, void * addr)
{
char retval;
return retval;
}
-_INLINE_ int ext2fs_test_bit(int nr, const void * addr)
+_INLINE_ int ext2fs_test_bit(unsigned int nr, const void * addr)
{
char retval;