summaryrefslogtreecommitdiff
path: root/lib/ext2fs
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2005-12-10 21:50:30 -0500
committerTheodore Ts'o <tytso@mit.edu>2005-12-10 21:50:30 -0500
commit9b9a780f5a5823865f62f0c9fd194d262f63a06f (patch)
tree9cf96489ddfc5de1c9a36ec0b20e0f62dcb73be7 /lib/ext2fs
parentbc47952f10ff5ed2c61536f2713d54b6807795cd (diff)
downloade2fsprogs-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/ChangeLog18
-rw-r--r--lib/ext2fs/bitops.h2
-rw-r--r--lib/ext2fs/ext2fs.h2
-rw-r--r--lib/ext2fs/initialize.c2
-rw-r--r--lib/ext2fs/mkjournal.c6
-rw-r--r--lib/ext2fs/read_bb_file.c18
-rw-r--r--lib/ext2fs/res_gdt.c4
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;
}