diff options
author | Theodore Ts'o <tytso@mit.edu> | 2005-12-10 21:50:30 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2005-12-10 21:50:30 -0500 |
commit | 9b9a780f5a5823865f62f0c9fd194d262f63a06f (patch) | |
tree | 9cf96489ddfc5de1c9a36ec0b20e0f62dcb73be7 /lib/ext2fs | |
parent | bc47952f10ff5ed2c61536f2713d54b6807795cd (diff) | |
download | e2fsprogs-9b9a780f5a5823865f62f0c9fd194d262f63a06f.tar.gz |
Fix various gcc -Wall complaints.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'lib/ext2fs')
-rw-r--r-- | lib/ext2fs/ChangeLog | 18 | ||||
-rw-r--r-- | lib/ext2fs/bitops.h | 2 | ||||
-rw-r--r-- | lib/ext2fs/ext2fs.h | 2 | ||||
-rw-r--r-- | lib/ext2fs/initialize.c | 2 | ||||
-rw-r--r-- | lib/ext2fs/mkjournal.c | 6 | ||||
-rw-r--r-- | lib/ext2fs/read_bb_file.c | 18 | ||||
-rw-r--r-- | lib/ext2fs/res_gdt.c | 4 |
7 files changed, 40 insertions, 12 deletions
diff --git a/lib/ext2fs/ChangeLog b/lib/ext2fs/ChangeLog index a4295fb5..0db4eff4 100644 --- a/lib/ext2fs/ChangeLog +++ b/lib/ext2fs/ChangeLog @@ -1,5 +1,23 @@ 2005-12-10 Theodore Ts'o <tytso@mit.edu> + * res_gdt.c (ext2fs_create_resize_inode): Fix type-punning warning. + + * read_bb_file.c (ext2fs_read_bb_FILE): Use a data structure + instead of stuffing a function pointer dirctly into a void + pointer, since that isn't portable. + + * mkjournal.c (ext2fs_add_journal_inode): Fix possiblely + uninitialized use of variable warning. + + * initialize.c (calc_reserved_gdt_blocks): Fix signed vs. unsigned + type complaint. + + * ext2fs.h: Make the type of the 'now' field to be time_t to avoid + gcc -Wall complaints. + + * bitops.h (ext2fs_find_first_bit_set): Fix signed vs unsigned + type error. + * tst_badblocks.c (file_test_invalid): Add test which confirms proper detection of invalid block numbers in ext2fs_read_bb_FILE(). diff --git a/lib/ext2fs/bitops.h b/lib/ext2fs/bitops.h index 8d7c7206..cb4d8a39 100644 --- a/lib/ext2fs/bitops.h +++ b/lib/ext2fs/bitops.h @@ -318,7 +318,7 @@ _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; + char *cp = (char *) addr; int res = 0, d0; if (!size) diff --git a/lib/ext2fs/ext2fs.h b/lib/ext2fs/ext2fs.h index d70e1b0c..fd99c3eb 100644 --- a/lib/ext2fs/ext2fs.h +++ b/lib/ext2fs/ext2fs.h @@ -229,7 +229,7 @@ struct struct_ext2_filsys { struct ext2_super_block * orig_super; struct ext2_image_hdr * image_header; __u32 umask; - __u32 now; + time_t now; /* * Reserved for future expansion */ diff --git a/lib/ext2fs/initialize.c b/lib/ext2fs/initialize.c index 5a0d100c..71e279da 100644 --- a/lib/ext2fs/initialize.c +++ b/lib/ext2fs/initialize.c @@ -79,7 +79,7 @@ static int calc_reserved_gdt_blocks(ext2_filsys fs) max_blocks = sb->s_blocks_count * 1024; rsv_groups = (max_blocks - sb->s_first_data_block + bpg - 1) / bpg; rsv_gdb = (rsv_groups + gdpb - 1) / gdpb - fs->desc_blocks; - if (rsv_gdb > EXT2_ADDR_PER_BLOCK(sb)) + if (rsv_gdb > (int) EXT2_ADDR_PER_BLOCK(sb)) rsv_gdb = EXT2_ADDR_PER_BLOCK(sb); #ifdef RES_GDT_DEBUG printf("max_blocks %lu, rsv_groups = %lu, rsv_gdb = %lu\n", diff --git a/lib/ext2fs/mkjournal.c b/lib/ext2fs/mkjournal.c index eb350137..4fe67c5b 100644 --- a/lib/ext2fs/mkjournal.c +++ b/lib/ext2fs/mkjournal.c @@ -318,7 +318,8 @@ errcode_t ext2fs_add_journal_inode(ext2_filsys fs, blk_t size, int flags) ext2_ino_t journal_ino; struct stat st; char jfile[1024]; - int fd, mount_flags, f; + int mount_flags, f; + int fd = -1; if ((retval = ext2fs_check_mount_point(fs->device_name, &mount_flags, jfile, sizeof(jfile)-10))) @@ -388,7 +389,8 @@ errcode_t ext2fs_add_journal_inode(ext2_filsys fs, blk_t size, int flags) ext2fs_mark_super_dirty(fs); return 0; errout: - close(fd); + if (fd > 0) + close(fd); return retval; } diff --git a/lib/ext2fs/read_bb_file.c b/lib/ext2fs/read_bb_file.c index 40c34ee3..2ac71f46 100644 --- a/lib/ext2fs/read_bb_file.c +++ b/lib/ext2fs/read_bb_file.c @@ -71,15 +71,19 @@ errcode_t ext2fs_read_bb_FILE2(ext2_filsys fs, FILE *f, return 0; } +struct compat_struct { + void (*invalid)(ext2_filsys, blk_t); +}; + static void call_compat_invalid(ext2_filsys fs, blk_t blk, char *badstr EXT2FS_ATTR((unused)), void *priv_data) { - void (*invalid)(ext2_filsys, blk_t); + struct compat_struct *st; - invalid = (void (*)(ext2_filsys, blk_t)) priv_data; - if (invalid) - invalid(fs, blk); + st = (struct compat_struct *) priv_data; + if (st->invalid) + (st->invalid)(fs, blk); } @@ -90,7 +94,11 @@ errcode_t ext2fs_read_bb_FILE(ext2_filsys fs, FILE *f, ext2_badblocks_list *bb_list, void (*invalid)(ext2_filsys fs, blk_t blk)) { - return ext2fs_read_bb_FILE2(fs, f, bb_list, (void *) invalid, + struct compat_struct st; + + st.invalid = invalid; + + return ext2fs_read_bb_FILE2(fs, f, bb_list, &st, call_compat_invalid); } diff --git a/lib/ext2fs/res_gdt.c b/lib/ext2fs/res_gdt.c index c03f1da0..9901c6e6 100644 --- a/lib/ext2fs/res_gdt.c +++ b/lib/ext2fs/res_gdt.c @@ -73,7 +73,7 @@ errcode_t ext2fs_create_resize_inode(ext2_filsys fs) sb = fs->super; - retval = ext2fs_get_mem(2 * fs->blocksize, (void **)&dindir_buf); + retval = ext2fs_get_mem(2 * fs->blocksize, &dindir_buf); if (retval) goto out_free; gdt_buf = (__u32 *)((char *)dindir_buf + fs->blocksize); @@ -214,7 +214,7 @@ out_inode: retval = retval2; } out_free: - ext2fs_free_mem((void **)&dindir_buf); + ext2fs_free_mem(&dindir_buf); return retval; } |