summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debugfs/ChangeLog6
-rw-r--r--debugfs/debugfs.c38
-rw-r--r--debugfs/debugfs.h3
-rw-r--r--debugfs/dump.c8
-rw-r--r--debugfs/htree.c13
-rw-r--r--debugfs/icheck.c8
-rw-r--r--debugfs/logdump.c21
-rw-r--r--debugfs/ls.c8
-rw-r--r--debugfs/lsdel.c4
-rw-r--r--debugfs/ncheck.c6
-rw-r--r--debugfs/setsuper.c2
-rw-r--r--debugfs/unused.c4
-rw-r--r--e2fsck/ChangeLog5
-rw-r--r--e2fsck/badblocks.c8
-rw-r--r--e2fsck/dict.c10
-rw-r--r--e2fsck/ea_refcount.c4
-rw-r--r--e2fsck/ehandler.c8
-rw-r--r--e2fsck/journal.c8
-rw-r--r--e2fsck/pass1.c29
-rw-r--r--e2fsck/pass1b.c32
-rw-r--r--e2fsck/pass2.c31
-rw-r--r--e2fsck/pass3.c10
-rw-r--r--e2fsck/pass5.c22
-rw-r--r--e2fsck/problem.c2
-rw-r--r--e2fsck/rehash.c10
-rw-r--r--e2fsck/super.c12
-rw-r--r--e2fsck/swapfs.c3
-rw-r--r--e2fsck/unix.c22
-rw-r--r--e2fsck/util.c3
-rw-r--r--lib/blkid/ChangeLog4
-rw-r--r--lib/blkid/blkidP.h7
-rw-r--r--lib/blkid/probe.c60
-rw-r--r--lib/blkid/read.c6
-rw-r--r--lib/ext2fs/ChangeLog10
-rw-r--r--lib/ext2fs/alloc.c3
-rw-r--r--lib/ext2fs/bb_inode.c9
-rw-r--r--lib/ext2fs/bitops.c8
-rw-r--r--lib/ext2fs/block.c4
-rw-r--r--lib/ext2fs/check_desc.c2
-rw-r--r--lib/ext2fs/closefs.c3
-rw-r--r--lib/ext2fs/dir_iterate.c24
-rw-r--r--lib/ext2fs/dirblock.c4
-rw-r--r--lib/ext2fs/expanddir.c12
-rw-r--r--lib/ext2fs/ext2fs.h19
-rw-r--r--lib/ext2fs/get_pathname.c6
-rw-r--r--lib/ext2fs/icount.c11
-rw-r--r--lib/ext2fs/imager.c19
-rw-r--r--lib/ext2fs/initialize.c14
-rw-r--r--lib/ext2fs/inode.c10
-rw-r--r--lib/ext2fs/jfs_compat.h2
-rw-r--r--lib/ext2fs/lookup.c6
-rw-r--r--lib/ext2fs/mkjournal.c25
-rw-r--r--lib/ext2fs/openfs.c6
-rw-r--r--lib/ext2fs/read_bb.c6
-rw-r--r--lib/ext2fs/read_bb_file.c3
-rw-r--r--lib/ext2fs/rw_bitmaps.c10
-rw-r--r--lib/ext2fs/unix_io.c26
-rw-r--r--lib/ext2fs/unlink.c8
-rw-r--r--lib/ext2fs/write_bb_file.c2
-rw-r--r--lib/ss/ChangeLog5
-rw-r--r--lib/ss/list_rqs.c27
-rw-r--r--lib/ss/listen.c11
-rw-r--r--lib/ss/requests.c22
-rw-r--r--lib/ss/ss.h11
-rw-r--r--misc/ChangeLog6
-rw-r--r--misc/badblocks.c64
-rw-r--r--misc/blkid.c6
-rw-r--r--misc/chattr.c14
-rw-r--r--misc/dumpe2fs.c19
-rw-r--r--misc/e2image.c37
-rw-r--r--misc/fsck.c17
-rw-r--r--misc/fsck.h7
-rw-r--r--misc/lsattr.c9
-rw-r--r--misc/mke2fs.c38
-rw-r--r--misc/nls-enable.h1
-rw-r--r--misc/tune2fs.c53
-rw-r--r--misc/util.c24
-rw-r--r--resize/ChangeLog4
-rw-r--r--resize/main.c6
-rw-r--r--resize/resize2fs.c44
-rw-r--r--util/ChangeLog7
-rw-r--r--util/gcc-wall-cleanup5
-rw-r--r--util/subst.c4
83 files changed, 658 insertions, 452 deletions
diff --git a/debugfs/ChangeLog b/debugfs/ChangeLog
index fed29580..ae475fde 100644
--- a/debugfs/ChangeLog
+++ b/debugfs/ChangeLog
@@ -1,3 +1,9 @@
+2003-12-07 Theodore Ts'o <tytso@mit.edu>
+
+ * debugfs.c, debugfs.h, dump.c, htree.c, icheck.c, logdump.c,
+ ls.c, lsdel.c, ncheck.c, setsuper.c, unused.c: Fix gcc
+ -Wall nitpicks.
+
2003-08-24 Theodore Ts'o <tytso@mit.edu>
* debugfs.8.in: Adjust description line so that apropos
diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c
index 1fcb9d37..2c13e4fd 100644
--- a/debugfs/debugfs.c
+++ b/debugfs/debugfs.c
@@ -229,7 +229,7 @@ static void print_features(struct ext2_super_block * s, FILE *f)
void do_show_super_stats(int argc, char *argv[])
{
- int i;
+ dgrp_t i;
FILE *out;
struct ext2_group_desc *gdp;
int c, header_only = 0;
@@ -285,7 +285,8 @@ void do_show_super_stats(int argc, char *argv[])
close_pager(out);
}
-void do_dirty_filesys(int argc, char **argv)
+void do_dirty_filesys(int argc EXT2FS_ATTR((unused)),
+ char **argv EXT2FS_ATTR((unused)))
{
if (check_fs_open(argv[0]))
return;
@@ -323,9 +324,11 @@ static void finish_range(struct list_blocks_struct *lb)
lb->first_block = 0;
}
-static int list_blocks_proc(ext2_filsys fs, blk_t *blocknr,
- e2_blkcnt_t blockcnt, blk_t ref_block,
- int ref_offset, void *private)
+static int list_blocks_proc(ext2_filsys fs EXT2FS_ATTR((unused)),
+ blk_t *blocknr, e2_blkcnt_t blockcnt,
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
+ void *private)
{
struct list_blocks_struct *lb = (struct list_blocks_struct *) private;
@@ -857,7 +860,8 @@ void do_link(int argc, char *argv[])
}
static int mark_blocks_proc(ext2_filsys fs, blk_t *blocknr,
- int blockcnt, void *private)
+ int blockcnt EXT2FS_ATTR((unused)),
+ void *private EXT2FS_ATTR((unused)))
{
blk_t block;
@@ -1131,11 +1135,11 @@ void do_write(int argc, char *argv[])
void do_mknod(int argc, char *argv[])
{
- unsigned long mode, major, minor, nr;
+ unsigned long mode, major, minor;
ext2_ino_t newfile;
errcode_t retval;
struct ext2_inode inode;
- int filetype;
+ int filetype, nr;
if (check_fs_open(argv[0]))
return;
@@ -1243,7 +1247,8 @@ void do_mkdir(int argc, char *argv[])
}
static int release_blocks_proc(ext2_filsys fs, blk_t *blocknr,
- int blockcnt, void *private)
+ int blockcnt EXT2FS_ATTR((unused)),
+ void *private EXT2FS_ATTR((unused)))
{
blk_t block;
@@ -1318,12 +1323,12 @@ struct rd_struct {
int empty;
};
-static int rmdir_proc(ext2_ino_t dir,
- int entry,
+static int rmdir_proc(ext2_ino_t dir EXT2FS_ATTR((unused)),
+ int entry EXT2FS_ATTR((unused)),
struct ext2_dir_entry *dirent,
- int offset,
- int blocksize,
- char *buf,
+ int offset EXT2FS_ATTR((unused)),
+ int blocksize EXT2FS_ATTR((unused)),
+ char *buf EXT2FS_ATTR((unused)),
void *private)
{
struct rd_struct *rds = (struct rd_struct *) private;
@@ -1397,7 +1402,8 @@ void do_rmdir(int argc, char *argv[])
}
}
-void do_show_debugfs_params(int argc, char *argv[])
+void do_show_debugfs_params(int argc EXT2FS_ATTR((unused)),
+ char *argv[] EXT2FS_ATTR((unused)))
{
FILE *out = stdout;
@@ -1484,7 +1490,7 @@ void do_imap(int argc, char *argv[])
EXT2_INODE_SIZE(current_fs->super);
block = offset >> EXT2_BLOCK_SIZE_BITS(current_fs->super);
if (!current_fs->group_desc[(unsigned)group].bg_inode_table) {
- com_err(argv[0], 0, "Inode table for group %d is missing\n",
+ com_err(argv[0], 0, "Inode table for group %lu is missing\n",
group);
return;
}
diff --git a/debugfs/debugfs.h b/debugfs/debugfs.h
index e8c77a81..cb6ba850 100644
--- a/debugfs/debugfs.h
+++ b/debugfs/debugfs.h
@@ -73,6 +73,9 @@ extern void do_ncheck(int argc, char **argv);
/* set_super.c */
extern void do_set_super(int argc, char **);
+/* unused.c */
+extern void do_dump_unused(int argc, char **argv);
+
/* debugfs.c */
extern void internal_dump_inode(FILE *, const char *, ext2_ino_t,
struct ext2_inode *, int);
diff --git a/debugfs/dump.c b/debugfs/dump.c
index 0ea6e354..fbaf703e 100644
--- a/debugfs/dump.c
+++ b/debugfs/dump.c
@@ -120,7 +120,7 @@ static void dump_file(const char *cmdname, ext2_ino_t ino, int fd,
if (got == 0)
break;
nbytes = write(fd, buf, got);
- if (nbytes != got)
+ if ((unsigned) nbytes != got)
com_err(cmdname, errno, "while writing file");
}
retval = ext2fs_file_close(e2_file);
@@ -287,8 +287,10 @@ errout:
free(fullname);
}
-static int rdump_dirent(struct ext2_dir_entry *dirent, int offset,
- int blocksize, char *buf, void *private)
+static int rdump_dirent(struct ext2_dir_entry *dirent,
+ int offset EXT2FS_ATTR((unused)),
+ int blocksize EXT2FS_ATTR((unused)),
+ char *buf EXT2FS_ATTR((unused)), void *private)
{
char name[EXT2_NAME_LEN];
int thislen;
diff --git a/debugfs/htree.c b/debugfs/htree.c
index 70842432..7af3d1b3 100644
--- a/debugfs/htree.c
+++ b/debugfs/htree.c
@@ -33,7 +33,8 @@ static void htree_dump_leaf_node(ext2_filsys fs, ext2_ino_t ino,
{
errcode_t errcode;
struct ext2_dir_entry *dirent;
- int thislen, col = 0, offset = 0;
+ int thislen, col = 0;
+ unsigned int offset = 0;
char name[EXT2_NAME_LEN];
char tmp[EXT2_NAME_LEN + 16];
blk_t pblk;
@@ -341,13 +342,15 @@ void do_dirsearch(int argc, char *argv[])
static int search_dir_block(ext2_filsys fs, blk_t *blocknr,
- e2_blkcnt_t blockcnt, blk_t ref_blk,
- int ref_offset, void *priv_data)
+ e2_blkcnt_t blockcnt,
+ blk_t ref_blk EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
+ void *priv_data)
{
struct process_block_struct *p;
struct ext2_dir_entry *dirent;
errcode_t errcode;
- int offset = 0;
+ unsigned int offset = 0;
if (blockcnt < 0)
return 0;
@@ -357,7 +360,7 @@ static int search_dir_block(ext2_filsys fs, blk_t *blocknr,
errcode = io_channel_read_blk(current_fs->io, *blocknr, 1, p->buf);
if (errcode) {
com_err("search_dir_block", errcode,
- "while reading block %lu", *blocknr);
+ "while reading block %lu", (unsigned long) *blocknr);
return BLOCK_ABORT;
}
diff --git a/debugfs/icheck.c b/debugfs/icheck.c
index c08d5586..6c4b0a11 100644
--- a/debugfs/icheck.c
+++ b/debugfs/icheck.c
@@ -30,11 +30,11 @@ struct block_walk_struct {
ext2_ino_t inode;
};
-static int icheck_proc(ext2_filsys fs,
+static int icheck_proc(ext2_filsys fs EXT2FS_ATTR((unused)),
blk_t *block_nr,
- e2_blkcnt_t blockcnt,
- blk_t ref_block,
- int ref_offset,
+ e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)),
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
void *private)
{
struct block_walk_struct *bw = (struct block_walk_struct *) private;
diff --git a/debugfs/logdump.c b/debugfs/logdump.c
index fcc12f0c..ab85ffef 100644
--- a/debugfs/logdump.c
+++ b/debugfs/logdump.c
@@ -36,6 +36,8 @@ extern char *optarg;
enum journal_location {JOURNAL_IS_INTERNAL, JOURNAL_IS_EXTERNAL};
+#define ANY_BLOCK ((unsigned int) -1)
+
int dump_all, dump_contents, dump_descriptors;
unsigned int block_to_dump, group_to_dump, bitmap_to_dump;
unsigned int inode_block_to_dump, inode_offset_to_dump, bitmap_to_dump;
@@ -96,9 +98,9 @@ void do_logdump(int argc, char **argv)
dump_all = 0;
dump_contents = 0;
dump_descriptors = 1;
- block_to_dump = -1;
+ block_to_dump = ANY_BLOCK;
bitmap_to_dump = -1;
- inode_block_to_dump = -1;
+ inode_block_to_dump = ANY_BLOCK;
inode_to_dump = -1;
reset_getopt();
@@ -181,7 +183,7 @@ void do_logdump(int argc, char **argv)
}
}
- if (block_to_dump != -1 && current_fs != NULL) {
+ if (block_to_dump != ANY_BLOCK && current_fs != NULL) {
group_to_dump = ((block_to_dump -
es->s_first_data_block)
/ es->s_blocks_per_group);
@@ -299,7 +301,7 @@ static int read_journal_block(const char *cmd, struct journal_source *source,
if (retval)
com_err(cmd, retval, "while while reading journal");
- else if (*got != size) {
+ else if (*got != (unsigned int) size) {
com_err(cmd, 0, "short read (read %d, expected %d) while while reading journal", *got, size);
retval = -1;
}
@@ -332,7 +334,7 @@ static void dump_journal(char *cmdname, FILE *out_file,
char jsb_buffer[1024];
char buf[8192];
journal_superblock_t *jsb;
- int blocksize = 1024;
+ unsigned int blocksize = 1024;
unsigned int got;
int retval;
__u32 magic, sequence, blocktype;
@@ -513,9 +515,10 @@ static void dump_descriptor_block(FILE *out_file,
static void dump_revoke_block(FILE *out_file, char *buf,
- journal_superblock_t *jsb,
- unsigned int blocknr, int blocksize,
- tid_t transaction)
+ journal_superblock_t *jsb EXT2FS_ATTR((unused)),
+ unsigned int blocknr,
+ int blocksize EXT2FS_ATTR((unused)),
+ tid_t transaction)
{
int offset, max;
journal_revoke_header_t *header;
@@ -561,7 +564,7 @@ static void show_indirect(FILE *out_file, const char *name, __u32 where)
static void dump_metadata_block(FILE *out_file, struct journal_source *source,
- journal_superblock_t *jsb,
+ journal_superblock_t *jsb EXT2FS_ATTR((unused)),
unsigned int log_blocknr,
unsigned int fs_blocknr,
int blocksize,
diff --git a/debugfs/ls.c b/debugfs/ls.c
index 2c672fb1..72874eb2 100644
--- a/debugfs/ls.c
+++ b/debugfs/ls.c
@@ -40,12 +40,12 @@ struct list_dir_struct {
static const char *monstr[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
-static int list_dir_proc(ext2_ino_t dir,
+static int list_dir_proc(ext2_ino_t dir EXT2FS_ATTR((unused)),
int entry,
struct ext2_dir_entry *dirent,
- int offset,
- int blocksize,
- char *buf,
+ int offset EXT2FS_ATTR((unused)),
+ int blocksize EXT2FS_ATTR((unused)),
+ char *buf EXT2FS_ATTR((unused)),
void *private)
{
struct ext2_inode inode;
diff --git a/debugfs/lsdel.c b/debugfs/lsdel.c
index 9a57a41c..71febd57 100644
--- a/debugfs/lsdel.c
+++ b/debugfs/lsdel.c
@@ -49,7 +49,7 @@ static int deleted_info_compare(const void *a, const void *b)
static int lsdel_proc(ext2_filsys fs,
blk_t *block_nr,
- int blockcnt,
+ int blockcnt EXT2FS_ATTR((unused)),
void *private)
{
struct lsdel_struct *lsd = (struct lsdel_struct *) private;
@@ -128,7 +128,7 @@ void do_lsdel(int argc, char **argv)
while (ino) {
if ((inode.i_dtime == 0) ||
- (secs && ((now - secs) > inode.i_dtime)))
+ (secs && ((unsigned) abs(now - secs) > inode.i_dtime)))
goto next;
lsd.inode = ino;
diff --git a/debugfs/ncheck.c b/debugfs/ncheck.c
index 2c2845c8..bb7f5244 100644
--- a/debugfs/ncheck.c
+++ b/debugfs/ncheck.c
@@ -33,9 +33,9 @@ struct inode_walk_struct {
};
static int ncheck_proc(struct ext2_dir_entry *dirent,
- int offset,
- int blocksize,
- char *buf,
+ int offset EXT2FS_ATTR((unused)),
+ int blocksize EXT2FS_ATTR((unused)),
+ char *buf EXT2FS_ATTR((unused)),
void *private)
{
struct inode_walk_struct *iw = (struct inode_walk_struct *) private;
diff --git a/debugfs/setsuper.c b/debugfs/setsuper.c
index b1061b28..1ff32e39 100644
--- a/debugfs/setsuper.c
+++ b/debugfs/setsuper.c
@@ -25,7 +25,7 @@ static struct ext2_super_block set_sb;
struct super_set_info {
const char *name;
void *ptr;
- int size;
+ unsigned int size;
errcode_t (*func)(struct super_set_info *info, char *arg);
};
diff --git a/debugfs/unused.c b/debugfs/unused.c
index c055db7d..d0a51621 100644
--- a/debugfs/unused.c
+++ b/debugfs/unused.c
@@ -24,11 +24,11 @@ extern char *optarg;
#include "debugfs.h"
-void do_dump_unused(int argc, char **argv)
+void do_dump_unused(int argc EXT2FS_ATTR((unused)), char **argv)
{
unsigned long blk;
unsigned char buf[32768];
- int i;
+ unsigned int i;
errcode_t retval;
for (blk=current_fs->super->s_first_data_block;
diff --git a/e2fsck/ChangeLog b/e2fsck/ChangeLog
index b97949c1..4b92c1bd 100644
--- a/e2fsck/ChangeLog
+++ b/e2fsck/ChangeLog
@@ -1,5 +1,10 @@
2003-12-07 Theodore Ts'o <tytso@mit.edu>
+ * badblocks.c, dict.c, ea_refcount.c, ehandler.c, journal.c,
+ pass1.c, pass1b.c, pass2.c, pass3.c, pass5.c, problem.c,
+ rehash.c, super.c, swapfs.c, unix.c, util.c, e2fsck.h: Fix
+ gcc -Wall nitpicks.
+
* recovery.c, jfs_user.h: Sync recovery.c with latest 2.5 kernel
version.
diff --git a/e2fsck/badblocks.c b/e2fsck/badblocks.c
index 572af203..09ef3ab1 100644
--- a/e2fsck/badblocks.c
+++ b/e2fsck/badblocks.c
@@ -17,7 +17,7 @@ static int check_bb_inode_blocks(ext2_filsys fs, blk_t *block_nr, int blockcnt,
void *priv_data);
-static void invalid_block(ext2_filsys fs, blk_t blk)
+static void invalid_block(ext2_filsys fs EXT2FS_ATTR((unused)), blk_t blk)
{
printf(_("Bad block %u out of range; ignored.\n"), blk);
return;
@@ -113,8 +113,10 @@ fatal:
}
-static int check_bb_inode_blocks(ext2_filsys fs, blk_t *block_nr, int blockcnt,
- void *priv_data)
+static int check_bb_inode_blocks(ext2_filsys fs,
+ blk_t *block_nr,
+ int blockcnt EXT2FS_ATTR((unused)),
+ void *priv_data EXT2FS_ATTR((unused)))
{
if (!*block_nr)
return 0;
diff --git a/e2fsck/dict.c b/e2fsck/dict.c
index 350ce752..bccab8bc 100644
--- a/e2fsck/dict.c
+++ b/e2fsck/dict.c
@@ -20,6 +20,12 @@
#define NDEBUG
+#ifdef __GNUC__
+#define EXT2FS_ATTR(x) __attribute__(x)
+#else
+#define EXT2FS_ATTR(x)
+#endif
+
#include <stdlib.h>
#include <stddef.h>
#include <assert.h>
@@ -963,12 +969,12 @@ int dict_contains(dict_t *dict, dnode_t *node)
return verify_dict_has_node(dict_nil(dict), dict_root(dict), node);
}
-static dnode_t *dnode_alloc(void *context)
+static dnode_t *dnode_alloc(void *context EXT2FS_ATTR((unused)))
{
return malloc(sizeof *dnode_alloc(NULL));
}
-static void dnode_free(dnode_t *node, void *context)
+static void dnode_free(dnode_t *node, void *context EXT2FS_ATTR((unused)))
{
free(node);
}
diff --git a/e2fsck/ea_refcount.c b/e2fsck/ea_refcount.c
index de13316e..6420c728 100644
--- a/e2fsck/ea_refcount.c
+++ b/e2fsck/ea_refcount.c
@@ -28,7 +28,7 @@ struct ea_refcount_el {
struct ea_refcount {
blk_t count;
blk_t size;
- int cursor;
+ blk_t cursor;
struct ea_refcount_el *list;
};
@@ -83,7 +83,7 @@ errout:
*/
static void refcount_collapse(ext2_refcount_t refcount)
{
- int i, j;
+ unsigned int i, j;
struct ea_refcount_el *list;
list = refcount->list;
diff --git a/e2fsck/ehandler.c b/e2fsck/ehandler.c
index d4060c40..16d6d4fa 100644
--- a/e2fsck/ehandler.c
+++ b/e2fsck/ehandler.c
@@ -23,8 +23,8 @@ static errcode_t e2fsck_handle_read_error(io_channel channel,
unsigned long block,
int count,
void *data,
- size_t size,
- int actual,
+ size_t size EXT2FS_ATTR((unused)),
+ int actual EXT2FS_ATTR((unused)),
errcode_t error)
{
int i;
@@ -69,8 +69,8 @@ static errcode_t e2fsck_handle_write_error(io_channel channel,
unsigned long block,
int count,
const void *data,
- size_t size,
- int actual,
+ size_t size EXT2FS_ATTR((unused)),
+ int actual EXT2FS_ATTR((unused)),
errcode_t error)
{
int i;
diff --git a/e2fsck/journal.c b/e2fsck/journal.c
index 615bd3ea..c645f3be 100644
--- a/e2fsck/journal.c
+++ b/e2fsck/journal.c
@@ -101,8 +101,8 @@ void ll_rw_block(int rw, int nr, struct buffer_head *bhp[])
1, bh->b_data);
if (retval) {
com_err(bh->b_ctx->device_name, retval,
- "while reading block %ld\n",
- bh->b_blocknr);
+ "while reading block %lu\n",
+ (unsigned long) bh->b_blocknr);
bh->b_err = retval;
continue;
}
@@ -115,8 +115,8 @@ void ll_rw_block(int rw, int nr, struct buffer_head *bhp[])
1, bh->b_data);
if (retval) {
com_err(bh->b_ctx->device_name, retval,
- "while writing block %ld\n",
- bh->b_blocknr);
+ "while writing block %lu\n",
+ (unsigned long) bh->b_blocknr);
bh->b_err = retval;
continue;
}
diff --git a/e2fsck/pass1.c b/e2fsck/pass1.c
index 58edd0a5..20628078 100644
--- a/e2fsck/pass1.c
+++ b/e2fsck/pass1.c
@@ -113,7 +113,7 @@ static __u64 ext2_max_sizes[EXT2_MAX_BLOCK_LOG_SIZE -
* Free all memory allocated by pass1 in preparation for restarting
* things.
*/
-static void unwind_pass1(ext2_filsys fs)
+static void unwind_pass1(ext2_filsys fs EXT2FS_ATTR((unused)))
{
ext2fs_free_mem(&inodes_to_process);
inodes_to_process = 0;
@@ -165,7 +165,7 @@ int e2fsck_pass1_check_device_inode(ext2_filsys fs, struct ext2_inode *inode)
int e2fsck_pass1_check_symlink(ext2_filsys fs, struct ext2_inode *inode,
char *buf)
{
- int len;
+ unsigned int len;
int i;
blk_t blocks;
@@ -757,7 +757,8 @@ endit:
* When the inode_scan routines call this callback at the end of the
* glock group, call process_inodes.
*/
-static errcode_t scan_callback(ext2_filsys fs, ext2_inode_scan scan,
+static errcode_t scan_callback(ext2_filsys fs,
+ ext2_inode_scan scan EXT2FS_ATTR((unused)),
dgrp_t group, void * priv_data)
{
struct scan_callback_struct *scan_struct;
@@ -1144,7 +1145,8 @@ clear_extattr:
/* Returns 1 if bad htree, 0 if OK */
static int handle_htree(e2fsck_t ctx, struct problem_context *pctx,
- ext2_ino_t ino, struct ext2_inode *inode,
+ ext2_ino_t ino EXT2FS_ATTR((unused)),
+ struct ext2_inode *inode,
char *block_buf)
{
struct ext2_dx_root_info *root;
@@ -1320,7 +1322,7 @@ static void check_blocks(e2fsck_t ctx, struct problem_context *pctx,
} else {
size = EXT2_I_SIZE(inode);
if ((pb.last_block >= 0) &&
- (size < pb.last_block * fs->blocksize))
+ (size < (__u64) pb.last_block * fs->blocksize))
bad_size = 3;
else if (size > ext2_max_sizes[fs->super->s_log_block_size])
bad_size = 4;
@@ -1410,8 +1412,8 @@ static char *describe_illegal_block(ext2_filsys fs, blk_t block)
static int process_block(ext2_filsys fs,
blk_t *block_nr,
e2_blkcnt_t blockcnt,
- blk_t ref_block,
- int ref_offset,
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
void *priv_data)
{
struct process_block_struct *p;
@@ -1545,14 +1547,14 @@ mark_dir:
static int process_bad_block(ext2_filsys fs,
blk_t *block_nr,
e2_blkcnt_t blockcnt,
- blk_t ref_block,
- int ref_offset,
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
void *priv_data)
{
struct process_block_struct *p;
blk_t blk = *block_nr;
- int first_block;
- int i;
+ blk_t first_block;
+ dgrp_t i;
struct problem_context *pctx;
e2fsck_t ctx;
@@ -1772,7 +1774,7 @@ static void new_table_block(e2fsck_t ctx, blk_t first_block, int group,
static void handle_fs_bad_blocks(e2fsck_t ctx)
{
ext2_filsys fs = ctx->fs;
- int i;
+ dgrp_t i;
int first_block = fs->super->s_first_data_block;
for (i = 0; i < fs->group_desc_count; i++) {
@@ -1803,7 +1805,8 @@ static void mark_table_blocks(e2fsck_t ctx)
{
ext2_filsys fs = ctx->fs;
blk_t block, b;
- int i, j;
+ dgrp_t i;
+ int j;
struct problem_context pctx;
clear_problem_context(&pctx);
diff --git a/e2fsck/pass1b.c b/e2fsck/pass1b.c
index 39e9030c..f368d843 100644
--- a/e2fsck/pass1b.c
+++ b/e2fsck/pass1b.c
@@ -159,7 +159,8 @@ static void add_dupe(e2fsck_t ctx, ext2_ino_t ino, blk_t blk,
/*
* Free a duplicate inode record
*/
-static void inode_dnode_free(dnode_t *node, void *context)
+static void inode_dnode_free(dnode_t *node,
+ void *context EXT2FS_ATTR((unused)))
{
struct dup_inode *di;
struct block_el *p, *next;
@@ -175,7 +176,8 @@ static void inode_dnode_free(dnode_t *node, void *context)
/*
* Free a duplicate block record
*/
-static void block_dnode_free(dnode_t *node, void *context)
+static void block_dnode_free(dnode_t *node,
+ void *context EXT2FS_ATTR((unused)))
{
struct dup_block *db;
struct inode_el *p, *next;
@@ -298,11 +300,11 @@ static void pass1b(e2fsck_t ctx, char *block_buf)
e2fsck_use_inode_shortcuts(ctx, 0);
}
-static int process_pass1b_block(ext2_filsys fs,
+static int process_pass1b_block(ext2_filsys fs EXT2FS_ATTR((unused)),
blk_t *block_nr,
- e2_blkcnt_t blockcnt,
- blk_t ref_blk,
- int ref_offset,
+ e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)),
+ blk_t ref_blk EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
void *priv_data)
{
struct process_block_struct *p;
@@ -342,8 +344,10 @@ struct search_dir_struct {
static int search_dirent_proc(ext2_ino_t dir, int entry,
struct ext2_dir_entry *dirent,
- int offset, int blocksize,
- char *buf, void *priv_data)
+ int offset EXT2FS_ATTR((unused)),
+ int blocksize EXT2FS_ATTR((unused)),
+ char *buf EXT2FS_ATTR((unused)),
+ void *priv_data)
{
struct search_dir_struct *sd;
struct dup_inode *p;
@@ -521,9 +525,9 @@ static void decrement_badcount(e2fsck_t ctx, blk_t block, struct dup_block *p)
static int delete_file_block(ext2_filsys fs,
blk_t *block_nr,
- e2_blkcnt_t blockcnt,
- blk_t ref_block,
- int ref_offset,
+ e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)),
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
void *priv_data)
{
struct process_block_struct *pb;
@@ -623,8 +627,8 @@ struct clone_struct {
static int clone_file_block(ext2_filsys fs,
blk_t *block_nr,
e2_blkcnt_t blockcnt,
- blk_t ref_block,
- int ref_offset,
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
void *priv_data)
{
struct dup_block *p;
@@ -769,7 +773,7 @@ static int check_if_fs_block(e2fsck_t ctx, blk_t test_block)
{
ext2_filsys fs = ctx->fs;
blk_t block;
- int i;
+ dgrp_t i;
block = fs->super->s_first_data_block;
for (i = 0; i < fs->group_desc_count; i++) {
diff --git a/e2fsck/pass2.c b/e2fsck/pass2.c
index 6f2ac937..dee2c194 100644
--- a/e2fsck/pass2.c
+++ b/e2fsck/pass2.c
@@ -96,7 +96,7 @@ void e2fsck_pass2(e2fsck_t ctx)
struct check_dir_struct cd;
struct dx_dir_info *dx_dir;
struct dx_dirblock_info *dx_db, *dx_parent;
- blk_t b;
+ int b;
int i, depth;
problem_t code;
int bad_dir;
@@ -459,7 +459,8 @@ static int check_dotdot(e2fsck_t ctx,
*/
static int check_name(e2fsck_t ctx,
struct ext2_dir_entry *dirent,
- ext2_ino_t dir_ino, struct problem_context *pctx)
+ ext2_ino_t dir_ino EXT2FS_ATTR((unused)),
+ struct problem_context *pctx)
{
int i;
int fixup = -1;
@@ -483,8 +484,9 @@ static int check_name(e2fsck_t ctx,
* Check the directory filetype (if present)
*/
static _INLINE_ int check_filetype(e2fsck_t ctx,
- struct ext2_dir_entry *dirent,
- ext2_ino_t dir_ino, struct problem_context *pctx)
+ struct ext2_dir_entry *dirent,
+ ext2_ino_t dir_ino EXT2FS_ATTR((unused)),
+ struct problem_context *pctx)
{
int filetype = dirent->name_len >> 8;
int should_be = EXT2_FT_UNKNOWN;
@@ -591,7 +593,7 @@ static void parse_int_node(ext2_filsys fs,
#endif
blk = ext2fs_le32_to_cpu(ent[i].block) & 0x0ffffff;
/* Check to make sure the block is valid */
- if (blk > dx_dir->numblocks) {
+ if (blk > (blk_t) dx_dir->numblocks) {
cd->pctx.blk = blk;
if (fix_problem(cd->ctx, PR_2_HTREE_BADBLK,
&cd->pctx))
@@ -644,7 +646,7 @@ clear_and_exit:
static void salvage_directory(ext2_filsys fs,
struct ext2_dir_entry *dirent,
struct ext2_dir_entry *prev,
- int *offset)
+ unsigned int *offset)
{
char *cp = (char *) dirent;
int left = fs->blocksize - *offset - dirent->rec_len;
@@ -708,7 +710,7 @@ static int check_dir_block(ext2_filsys fs,
#endif /* ENABLE_HTREE */
struct ext2_dir_entry *dirent, *prev;
ext2_dirhash_t hash;
- int offset = 0;
+ unsigned int offset = 0;
int dir_modified = 0;
int dot_state;
blk_t block_nr = db->blk;
@@ -1071,9 +1073,9 @@ abort_free_dict:
*/
static int deallocate_inode_block(ext2_filsys fs,
blk_t *block_nr,
- e2_blkcnt_t blockcnt,
- blk_t ref_block,
- int ref_offset,
+ e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)),
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
void *priv_data)
{
e2fsck_t ctx = (e2fsck_t) priv_data;
@@ -1287,7 +1289,8 @@ extern int e2fsck_process_bad_inode(e2fsck_t ctx, ext2_ino_t dir,
*/
static int allocate_dir_block(e2fsck_t ctx,
struct ext2_db_entry *db,
- char *buf, struct problem_context *pctx)
+ char *buf EXT2FS_ATTR((unused)),
+ struct problem_context *pctx)
{
ext2_filsys fs = ctx->fs;
blk_t blk;
@@ -1366,11 +1369,11 @@ static int allocate_dir_block(e2fsck_t ctx,
/*
* This is a helper function for allocate_dir_block().
*/
-static int update_dir_block(ext2_filsys fs,
+static int update_dir_block(ext2_filsys fs EXT2FS_ATTR((unused)),
blk_t *block_nr,
e2_blkcnt_t blockcnt,
- blk_t ref_block,
- int ref_offset,
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
void *priv_data)
{
struct ext2_db_entry *db;
diff --git a/e2fsck/pass3.c b/e2fsck/pass3.c
index bafcb4cc..e2bdd544 100644
--- a/e2fsck/pass3.c
+++ b/e2fsck/pass3.c
@@ -611,9 +611,9 @@ struct fix_dotdot_struct {
};
static int fix_dotdot_proc(struct ext2_dir_entry *dirent,
- int offset,
- int blocksize,
- char *buf,
+ int offset EXT2FS_ATTR((unused)),
+ int blocksize EXT2FS_ATTR((unused)),
+ char *buf EXT2FS_ATTR((unused)),
void *priv_data)
{
struct fix_dotdot_struct *fp = (struct fix_dotdot_struct *) priv_data;
@@ -691,8 +691,8 @@ struct expand_dir_struct {
static int expand_dir_proc(ext2_filsys fs,
blk_t *blocknr,
e2_blkcnt_t blockcnt,
- blk_t ref_block,
- int ref_offset,
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
void *priv_data)
{
struct expand_dir_struct *es = (struct expand_dir_struct *) priv_data;
diff --git a/e2fsck/pass5.c b/e2fsck/pass5.c
index 862b7e04..e708fa41 100644
--- a/e2fsck/pass5.c
+++ b/e2fsck/pass5.c
@@ -114,8 +114,8 @@ static void check_block_bitmaps(e2fsck_t ctx)
blk_t i;
int *free_array;
int group = 0;
- int blocks = 0;
- int free_blocks = 0;
+ unsigned int blocks = 0;
+ unsigned int free_blocks = 0;
int group_free = 0;
int actual, bitmap;
struct problem_context pctx;
@@ -275,17 +275,17 @@ static void check_inode_bitmaps(e2fsck_t ctx)
{
ext2_filsys fs = ctx->fs;
ext2_ino_t i;
- int free_inodes = 0;
- int group_free = 0;
- int dirs_count = 0;
- int group = 0;
- int inodes = 0;
- int *free_array;
- int *dir_array;
- int actual, bitmap;
+ unsigned int free_inodes = 0;
+ int group_free = 0;
+ int dirs_count = 0;
+ int group = 0;
+ unsigned int inodes = 0;
+ int *free_array;
+ int *dir_array;
+ int actual, bitmap;
errcode_t retval;
struct problem_context pctx;
- int problem, save_problem, fixit, had_problem;
+ int problem, save_problem, fixit, had_problem;
clear_problem_context(&pctx);
free_array = (int *) e2fsck_allocate_memory(ctx,
diff --git a/e2fsck/problem.c b/e2fsck/problem.c
index a164bb52..9f0b561d 100644
--- a/e2fsck/problem.c
+++ b/e2fsck/problem.c
@@ -1440,7 +1440,7 @@ static struct latch_descr pr_latch_info[] = {
{ -1, 0, 0 },
};
-static const struct e2fsck_problem *find_problem(int code)
+static const struct e2fsck_problem *find_problem(problem_t code)
{
int i;
diff --git a/e2fsck/rehash.c b/e2fsck/rehash.c
index c6b0b02c..727e08c2 100644
--- a/e2fsck/rehash.c
+++ b/e2fsck/rehash.c
@@ -79,15 +79,15 @@ struct out_dir {
static int fill_dir_block(ext2_filsys fs,
blk_t *block_nr,
e2_blkcnt_t blockcnt,
- blk_t ref_block,
- int ref_offset,
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
void *priv_data)
{
struct fill_dir_struct *fd = (struct fill_dir_struct *) priv_data;
struct hash_entry *new_array, *ent;
struct ext2_dir_entry *dirent;
char *dir;
- int offset, dir_offset;
+ unsigned int offset, dir_offset;
if (blockcnt < 0)
return 0;
@@ -589,8 +589,8 @@ struct write_dir_struct {
static int write_dir_block(ext2_filsys fs,
blk_t *block_nr,
e2_blkcnt_t blockcnt,
- blk_t ref_block,
- int ref_offset,
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
void *priv_data)
{
struct write_dir_struct *wd = (struct write_dir_struct *) priv_data;
diff --git a/e2fsck/super.c b/e2fsck/super.c
index b6c5e746..9a1ab4c0 100644
--- a/e2fsck/super.c
+++ b/e2fsck/super.c
@@ -60,7 +60,7 @@ struct process_block_struct {
struct problem_context *pctx;
int truncating;
int truncate_offset;
- blk_t truncate_block;
+ e2_blkcnt_t truncate_block;
int truncated_blocks;
int abort;
errcode_t errcode;
@@ -68,7 +68,9 @@ struct process_block_struct {
static int release_inode_block(ext2_filsys fs,
blk_t *block_nr,
- int blockcnt,
+ e2_blkcnt_t blockcnt,
+ blk_t ref_blk EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
void *priv_data)
{
struct process_block_struct *pb;
@@ -180,7 +182,7 @@ static int release_inode_blocks(e2fsck_t ctx, ext2_ino_t ino,
pb.pctx = pctx;
if (inode->i_links_count) {
pb.truncating = 1;
- pb.truncate_block = (blk_t)
+ pb.truncate_block = (e2_blkcnt_t)
((((long long)inode->i_size_high << 32) +
inode->i_size + fs->blocksize - 1) /
fs->blocksize);
@@ -191,7 +193,7 @@ static int release_inode_blocks(e2fsck_t ctx, ext2_ino_t ino,
pb.truncate_offset = 0;
}
pb.truncated_blocks = 0;
- retval = ext2fs_block_iterate(fs, ino, BLOCK_FLAG_DEPTH_TRAVERSE,
+ retval = ext2fs_block_iterate2(fs, ino, BLOCK_FLAG_DEPTH_TRAVERSE,
block_buf, release_inode_block, &pb);
if (retval) {
com_err("release_inode_blocks", retval,
@@ -384,7 +386,7 @@ void check_super_block(e2fsck_t ctx)
}
}
- if (sb->s_log_block_size != sb->s_log_frag_size) {
+ if (sb->s_log_block_size != (__u32) sb->s_log_frag_size) {
pctx.blk = EXT2_BLOCK_SIZE(sb);
pctx.blk2 = EXT2_FRAG_SIZE(sb);
fix_problem(ctx, PR_0_NO_FRAGMENTS, &pctx);
diff --git a/e2fsck/swapfs.c b/e2fsck/swapfs.c
index 8e9a134f..3e7609b2 100644
--- a/e2fsck/swapfs.c
+++ b/e2fsck/swapfs.c
@@ -110,7 +110,8 @@ static void swap_inode_blocks(e2fsck_t ctx, ext2_ino_t ino, char *block_buf,
static void swap_inodes(e2fsck_t ctx)
{
ext2_filsys fs = ctx->fs;
- int i, group;
+ dgrp_t group;
+ unsigned int i;
ext2_ino_t ino = 1;
char *buf, *block_buf;
errcode_t retval;
diff --git a/e2fsck/unix.c b/e2fsck/unix.c
index 91511bfb..4c2598f6 100644
--- a/e2fsck/unix.c
+++ b/e2fsck/unix.c
@@ -199,7 +199,7 @@ static void check_mount(e2fsck_t ctx)
return;
}
-static int is_on_batt()
+static int is_on_batt(void)
{
FILE *f;
char tmp[80], tmp2[80];
@@ -254,12 +254,12 @@ static void check_if_skip(e2fsck_t ctx)
(unsigned) fs->super->s_max_mnt_count*2))
reason = 0;
} else if (fs->super->s_checkinterval &&
- now >= (fs->super->s_lastcheck +
- fs->super->s_checkinterval)) {
+ ((now - fs->super->s_lastcheck) >=
+ fs->super->s_checkinterval)) {
reason = _(" has gone %u days without being checked");
reason_arg = (now - fs->super->s_lastcheck)/(3600*24);
- if (batt && (now < (fs->super->s_lastcheck +
- fs->super->s_checkinterval*2)))
+ if (batt && ((now - fs->super->s_lastcheck) <
+ fs->super->s_checkinterval*2))
reason = 0;
}
if (reason) {
@@ -279,13 +279,13 @@ static void check_if_skip(e2fsck_t ctx)
if (next_check <= 0)
next_check = 1;
}
- if (now >= (fs->super->s_lastcheck + fs->super->s_checkinterval))
+ if ((now - fs->super->s_lastcheck) >= fs->super->s_checkinterval)
next_check = 1;
if (next_check <= 5) {
if (next_check == 1)
fputs(_(" (check after next mount)"), stdout);
else
- printf(_(" (check in %d mounts)"), next_check);
+ printf(_(" (check in %ld mounts)"), next_check);
}
fputc('\n', stdout);
ext2fs_close(fs);
@@ -336,7 +336,7 @@ int e2fsck_simple_progress(e2fsck_t ctx, const char *label, float percent,
{
static const char spinner[] = "\\|/-";
int i;
- int tick;
+ unsigned int tick;
struct timeval tv;
int dpywidth;
@@ -437,7 +437,7 @@ static void reserve_stdio_fds(void)
}
#ifdef HAVE_SIGNAL_H
-static void signal_progress_on(int sig)
+static void signal_progress_on(int sig EXT2FS_ATTR((unused)))
{
e2fsck_t ctx = e2fsck_global_ctx;
@@ -448,7 +448,7 @@ static void signal_progress_on(int sig)
ctx->progress_fd = 0;
}
-static void signal_progress_off(int sig)
+static void signal_progress_off(int sig EXT2FS_ATTR((unused)))
{
e2fsck_t ctx = e2fsck_global_ctx;
@@ -459,7 +459,7 @@ static void signal_progress_off(int sig)
ctx->progress = 0;
}
-static void signal_cancel(int sig)
+static void signal_cancel(int sig EXT2FS_ATTR((unused)))
{
e2fsck_t ctx = e2fsck_global_ctx;
diff --git a/e2fsck/util.c b/e2fsck/util.c
index 8bb538d1..569fc581 100644
--- a/e2fsck/util.c
+++ b/e2fsck/util.c
@@ -70,7 +70,8 @@ void *e2fsck_allocate_memory(e2fsck_t ctx, unsigned int size,
return ret;
}
-char *string_copy(e2fsck_t ctx, const char *str, int len)
+char *string_copy(e2fsck_t ctx EXT2FS_ATTR((unused)),
+ const char *str, int len)
{
char *ret;
diff --git a/lib/blkid/ChangeLog b/lib/blkid/ChangeLog
index eebbf15d..f6d3bb1e 100644
--- a/lib/blkid/ChangeLog
+++ b/lib/blkid/ChangeLog
@@ -1,3 +1,7 @@
+2003-12-07 Theodore Ts'o <tytso@mit.edu>
+
+ * probe.c, read.c, blkidP.h: Fix gcc -Wall nitpicks.
+
2003-07-25 Theodore Ts'o <tytso@mit.edu>
* Release of E2fsprogs 1.34
diff --git a/lib/blkid/blkidP.h b/lib/blkid/blkidP.h
index 1ab29c5b..7d90b5e5 100644
--- a/lib/blkid/blkidP.h
+++ b/lib/blkid/blkidP.h
@@ -20,6 +20,13 @@
#include <blkid/list.h>
+#ifdef __GNUC__
+#define __BLKID_ATTR(x) __attribute__(x)
+#else
+#define __BLKID_ATTR(x)
+#endif
+
+
/*
* This describes the attributes of a specific device.
* We can traverse all of the tags by bid_tags (linking to the tag bit_names).
diff --git a/lib/blkid/probe.c b/lib/blkid/probe.c
index 505400c5..5b74c31f 100644
--- a/lib/blkid/probe.c
+++ b/lib/blkid/probe.c
@@ -78,7 +78,9 @@ static void set_uuid(blkid_dev dev, uuid_t uuid)
}
}
-static int probe_ext2(int fd, blkid_cache cache, blkid_dev dev,
+static int probe_ext2(int fd __BLKID_ATTR((unused)),
+ blkid_cache cache __BLKID_ATTR((unused)),
+ blkid_dev dev,
struct blkid_magic *id, unsigned char *buf)
{
struct ext2_super_block *es;
@@ -111,8 +113,11 @@ static int probe_ext2(int fd, blkid_cache cache, blkid_dev dev,
return 0;
}
-static int probe_jbd(int fd, blkid_cache cache, blkid_dev dev,
- struct blkid_magic *id, unsigned char *buf)
+static int probe_jbd(int fd __BLKID_ATTR((unused)),
+ blkid_cache cache __BLKID_ATTR((unused)),
+ blkid_dev dev,
+ struct blkid_magic *id __BLKID_ATTR((unused)),
+ unsigned char *buf)
{
struct ext2_super_block *es = (struct ext2_super_block *) buf;
@@ -123,8 +128,11 @@ static int probe_jbd(int fd, blkid_cache cache, blkid_dev dev,
return (probe_ext2(fd, cache, dev, 0, buf));
}
-static int probe_vfat(int fd, blkid_cache cache, blkid_dev dev,
- struct blkid_magic *id, unsigned char *buf)
+static int probe_vfat(int fd __BLKID_ATTR((unused)),
+ blkid_cache cache __BLKID_ATTR((unused)),
+ blkid_dev dev,
+ struct blkid_magic *id __BLKID_ATTR((unused)),
+ unsigned char *buf)
{
struct vfat_super_block *vs;
char serno[10];
@@ -150,8 +158,11 @@ static int probe_vfat(int fd, blkid_cache cache, blkid_dev dev,
return 0;
}
-static int probe_msdos(int fd, blkid_cache cache, blkid_dev dev,
- struct blkid_magic *id, unsigned char *buf)
+static int probe_msdos(int fd __BLKID_ATTR((unused)),
+ blkid_cache cache __BLKID_ATTR((unused)),
+ blkid_dev dev,
+ struct blkid_magic *id __BLKID_ATTR((unused)),
+ unsigned char *buf)
{
struct msdos_super_block *ms = (struct msdos_super_block *) buf;
char serno[10];
@@ -175,8 +186,11 @@ static int probe_msdos(int fd, blkid_cache cache, blkid_dev dev,
return 0;
}
-static int probe_xfs(int fd, blkid_cache cache, blkid_dev dev,
- struct blkid_magic *id, unsigned char *buf)
+static int probe_xfs(int fd __BLKID_ATTR((unused)),
+ blkid_cache cache __BLKID_ATTR((unused)),
+ blkid_dev dev,
+ struct blkid_magic *id __BLKID_ATTR((unused)),
+ unsigned char *buf)
{
struct xfs_super_block *xs;
const char *label = 0;
@@ -190,7 +204,9 @@ static int probe_xfs(int fd, blkid_cache cache, blkid_dev dev,
return 0;
}
-static int probe_reiserfs(int fd, blkid_cache cache, blkid_dev dev,
+static int probe_reiserfs(int fd __BLKID_ATTR((unused)),
+ blkid_cache cache __BLKID_ATTR((unused)),
+ blkid_dev dev,
struct blkid_magic *id, unsigned char *buf)
{
struct reiserfs_super_block *rs = (struct reiserfs_super_block *) buf;
@@ -215,8 +231,11 @@ static int probe_reiserfs(int fd, blkid_cache cache, blkid_dev dev,
return 0;
}
-static int probe_jfs(int fd, blkid_cache cache, blkid_dev dev,
- struct blkid_magic *id, unsigned char *buf)
+static int probe_jfs(int fd __BLKID_ATTR((unused)),
+ blkid_cache cache __BLKID_ATTR((unused)),
+ blkid_dev dev,
+ struct blkid_magic *id __BLKID_ATTR((unused)),
+ unsigned char *buf)
{
struct jfs_super_block *js;
const char *label = 0;
@@ -230,8 +249,11 @@ static int probe_jfs(int fd, blkid_cache cache, blkid_dev dev,
return 0;
}
-static int probe_romfs(int fd, blkid_cache cache, blkid_dev dev,
- struct blkid_magic *id, unsigned char *buf)
+static int probe_romfs(int fd __BLKID_ATTR((unused)),
+ blkid_cache cache __BLKID_ATTR((unused)),
+ blkid_dev dev,
+ struct blkid_magic *id __BLKID_ATTR((unused)),
+ unsigned char *buf)
{
struct romfs_super_block *ros;
const char *label = 0;
@@ -244,16 +266,18 @@ static int probe_romfs(int fd, blkid_cache cache, blkid_dev dev,
return 0;
}
-static char
+static const char
*udf_magic[] = { "BEA01", "BOOT2", "CD001", "CDW02", "NSR02",
"NSR03", "TEA01", 0 };
-static int probe_udf(int fd, blkid_cache cache, blkid_dev dev,
- struct blkid_magic *id, unsigned char *buf)
+static int probe_udf(int fd, blkid_cache cache __BLKID_ATTR((unused)),
+ blkid_dev dev __BLKID_ATTR((unused)),
+ struct blkid_magic *id __BLKID_ATTR((unused)),
+ unsigned char *buf __BLKID_ATTR((unused)))
{
int j, bs;
struct iso_volume_descriptor isosb;
- char **m;
+ const char ** m;
/* determine the block size by scanning in 2K increments
(block sizes larger than 2K will be null padded) */
diff --git a/lib/blkid/read.c b/lib/blkid/read.c
index b07cf795..0a8e3f3c 100644
--- a/lib/blkid/read.c
+++ b/lib/blkid/read.c
@@ -403,10 +403,12 @@ void blkid_read_cache(blkid_cache cache)
while (fgets(buf, sizeof(buf), file)) {
blkid_dev dev;
-
- int end = strlen(buf) - 1;
+ unsigned int end;
lineno++;
+ if (buf[0] == 0)
+ continue;
+ end = strlen(buf) - 1;
/* Continue reading next line if it ends with a backslash */
while (buf[end] == '\\' && end < sizeof(buf) - 2 &&
fgets(buf + end, sizeof(buf) - end, file)) {
diff --git a/lib/ext2fs/ChangeLog b/lib/ext2fs/ChangeLog
index 377f5941..586abc11 100644
--- a/lib/ext2fs/ChangeLog
+++ b/lib/ext2fs/ChangeLog
@@ -1,3 +1,13 @@
+2003-12-02 Theodore Ts'o <tytso@mit.edu>
+
+ * alloc.c, bb_inode.c, bitops.c, block.c, check_desc.c, closefs.c,
+ dir_iterate.c, dirblock.c, expanddir.c, ext2fs.h,
+ get_pathname.c, icount.c, imager.c, initalize.c, inode.c,
+ lookup.c, openfs.c, read_bb.c, read_bb_file.c,
+ rw_bitmaps.c, unix_io.c, unlink.c, write_bb_file.c: Fix
+ gcc -Wall complaints. Mainly marking variables as being
+ unsued, and catching signed vs. unsigned comparisons.
+
2003-09-03 Theodore Ts'o <tytso@mit.edu>
* closefs.c (ext2fs_super_and_bgd_loc): New function which
diff --git a/lib/ext2fs/alloc.c b/lib/ext2fs/alloc.c
index 3356006f..7385123b 100644
--- a/lib/ext2fs/alloc.c
+++ b/lib/ext2fs/alloc.c
@@ -32,7 +32,8 @@
*
* Should have a special policy for directories.
*/
-errcode_t ext2fs_new_inode(ext2_filsys fs, ext2_ino_t dir, int mode,
+errcode_t ext2fs_new_inode(ext2_filsys fs, ext2_ino_t dir,
+ int mode EXT2FS_ATTR((unused)),
ext2fs_inode_bitmap map, ext2_ino_t *ret)
{
ext2_ino_t dir_group = 0;
diff --git a/lib/ext2fs/bb_inode.c b/lib/ext2fs/bb_inode.c
index f601787d..dd8e7c31 100644
--- a/lib/ext2fs/bb_inode.c
+++ b/lib/ext2fs/bb_inode.c
@@ -151,7 +151,8 @@ cleanup:
#endif
static int clear_bad_block_proc(ext2_filsys fs, blk_t *block_nr,
e2_blkcnt_t blockcnt,
- blk_t ref_block, int ref_offset,
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
void *priv_data)
{
struct set_badblock_record *rec = (struct set_badblock_record *)
@@ -206,8 +207,10 @@ static int clear_bad_block_proc(ext2_filsys fs, blk_t *block_nr,
#pragma argsused
#endif
static int set_bad_block_proc(ext2_filsys fs, blk_t *block_nr,
- e2_blkcnt_t blockcnt, blk_t ref_block,
- int ref_offset, void *priv_data)
+ e2_blkcnt_t blockcnt,
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
+ void *priv_data)
{
struct set_badblock_record *rec = (struct set_badblock_record *)
priv_data;
diff --git a/lib/ext2fs/bitops.c b/lib/ext2fs/bitops.c
index e27c5a0f..886eb5ec 100644
--- a/lib/ext2fs/bitops.c
+++ b/lib/ext2fs/bitops.c
@@ -71,9 +71,9 @@ void ext2fs_warn_bitmap(errcode_t errcode, unsigned long arg,
{
#ifndef OMIT_COM_ERR
if (description)
- com_err(0, errcode, "#%u for %s", arg, description);
+ com_err(0, errcode, "#%lu for %s", arg, description);
else
- com_err(0, errcode, "#%u", arg);
+ com_err(0, errcode, "#%lu", arg);
#endif
}
@@ -83,9 +83,9 @@ void ext2fs_warn_bitmap2(ext2fs_generic_bitmap bitmap,
#ifndef OMIT_COM_ERR
if (bitmap->description)
com_err(0, bitmap->base_error_code+code,
- "#%u for %s", arg, bitmap->description);
+ "#%lu for %s", arg, bitmap->description);
else
- com_err(0, bitmap->base_error_code + code, "#%u", arg);
+ com_err(0, bitmap->base_error_code + code, "#%lu", arg);
#endif
}
diff --git a/lib/ext2fs/block.c b/lib/ext2fs/block.c
index 338b9180..f64c0af3 100644
--- a/lib/ext2fs/block.c
+++ b/lib/ext2fs/block.c
@@ -467,7 +467,9 @@ struct xlate {
#pragma argsused
#endif
static int xlate_func(ext2_filsys fs, blk_t *blocknr, e2_blkcnt_t blockcnt,
- blk_t ref_block, int ref_offset, void *priv_data)
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
+ void *priv_data)
{
struct xlate *xl = (struct xlate *) priv_data;
diff --git a/lib/ext2fs/check_desc.c b/lib/ext2fs/check_desc.c
index 902c4b64..2a754c7f 100644
--- a/lib/ext2fs/check_desc.c
+++ b/lib/ext2fs/check_desc.c
@@ -31,7 +31,7 @@
*/
errcode_t ext2fs_check_desc(ext2_filsys fs)
{
- int i;
+ dgrp_t i;
blk_t block = fs->super->s_first_data_block;
blk_t next;
diff --git a/lib/ext2fs/closefs.c b/lib/ext2fs/closefs.c
index 56be2923..1256385b 100644
--- a/lib/ext2fs/closefs.c
+++ b/lib/ext2fs/closefs.c
@@ -53,7 +53,8 @@ int ext2fs_super_and_bgd_loc(ext2_filsys fs,
int *ret_meta_bg)
{
blk_t group_block, super_blk = 0, old_desc_blk = 0, new_desc_blk = 0;
- int numblocks, j, has_super, meta_bg_size, meta_bg;
+ unsigned int meta_bg, meta_bg_size;
+ int numblocks, has_super;
int old_desc_blocks;
group_block = fs->super->s_first_data_block +
diff --git a/lib/ext2fs/dir_iterate.c b/lib/ext2fs/dir_iterate.c
index 9a6ac915..003c0a3b 100644
--- a/lib/ext2fs/dir_iterate.c
+++ b/lib/ext2fs/dir_iterate.c
@@ -96,7 +96,8 @@ struct xlate {
void *real_private;
};
-static int xlate_func(ext2_ino_t dir, int entry,
+static int xlate_func(ext2_ino_t dir EXT2FS_ATTR((unused)),
+ int entry EXT2FS_ATTR((unused)),
struct ext2_dir_entry *dirent, int offset,
int blocksize, char *buf, void *priv_data)
{
@@ -130,16 +131,16 @@ extern errcode_t ext2fs_dir_iterate(ext2_filsys fs,
* Helper function which is private to this module. Used by
* ext2fs_dir_iterate() and ext2fs_dblist_dir_iterate()
*/
-int ext2fs_process_dir_block(ext2_filsys fs,
- blk_t *blocknr,
- e2_blkcnt_t blockcnt,
- blk_t ref_block,
- int ref_offset,
- void *priv_data)
+int ext2fs_process_dir_block(ext2_filsys fs,
+ blk_t *blocknr,
+ e2_blkcnt_t blockcnt,
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
+ void *priv_data)
{
struct dir_context *ctx = (struct dir_context *) priv_data;
- int offset = 0;
- int next_real_entry = 0;
+ unsigned int offset = 0;
+ unsigned int next_real_entry = 0;
int ret = 0;
int changed = 0;
int do_abort = 0;
@@ -191,8 +192,9 @@ next:
size = ((dirent->name_len & 0xFF) + 11) & ~3;
if (dirent->rec_len != size) {
- int final_offset = offset + dirent->rec_len;
-
+ unsigned int final_offset;
+
+ final_offset = offset + dirent->rec_len;
offset += size;
while (offset < final_offset &&
!ext2fs_validate_entry(ctx->buf,
diff --git a/lib/ext2fs/dirblock.c b/lib/ext2fs/dirblock.c
index 0cb07c72..ebfc72c5 100644
--- a/lib/ext2fs/dirblock.c
+++ b/lib/ext2fs/dirblock.c
@@ -20,7 +20,7 @@
#include "ext2fs.h"
errcode_t ext2fs_read_dir_block2(ext2_filsys fs, blk_t block,
- void *buf, int flags)
+ void *buf, int flags EXT2FS_ATTR((unused)))
{
errcode_t retval;
char *p, *end;
@@ -71,7 +71,7 @@ errcode_t ext2fs_read_dir_block(ext2_filsys fs, blk_t block,
errcode_t ext2fs_write_dir_block2(ext2_filsys fs, blk_t block,
- void *inbuf, int flags)
+ void *inbuf, int flags EXT2FS_ATTR((unused)))
{
#ifdef EXT2FS_ENABLE_SWAPFS
int do_swap = 0;
diff --git a/lib/ext2fs/expanddir.c b/lib/ext2fs/expanddir.c
index 3c2c8037..10a5149c 100644
--- a/lib/ext2fs/expanddir.c
+++ b/lib/ext2fs/expanddir.c
@@ -24,12 +24,12 @@ struct expand_dir_struct {
errcode_t err;
};
-static int expand_dir_proc(ext2_filsys fs,
- blk_t *blocknr,
- e2_blkcnt_t blockcnt,
- blk_t ref_block,
- int ref_offset,
- void *priv_data)
+static int expand_dir_proc(ext2_filsys fs,
+ blk_t *blocknr,
+ e2_blkcnt_t blockcnt,
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
+ void *priv_data)
{
struct expand_dir_struct *es = (struct expand_dir_struct *) priv_data;
blk_t new_blk;
diff --git a/lib/ext2fs/ext2fs.h b/lib/ext2fs/ext2fs.h
index d0bd2807..92f273eb 100644
--- a/lib/ext2fs/ext2fs.h
+++ b/lib/ext2fs/ext2fs.h
@@ -12,6 +12,12 @@
#ifndef _EXT2FS_EXT2FS_H
#define _EXT2FS_EXT2FS_H
+#ifdef __GNUC__
+#define EXT2FS_ATTR(x) __attribute__(x)
+#else
+#define EXT2FS_ATTR(x)
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -201,7 +207,7 @@ struct struct_ext2_filsys {
int flags;
char * device_name;
struct ext2_super_block * super;
- int blocksize;
+ unsigned int blocksize;
int fragsize;
dgrp_t group_desc_count;
unsigned long desc_blocks;
@@ -482,6 +488,7 @@ extern errcode_t ext2fs_allocate_group_table(ext2_filsys fs, dgrp_t group,
/* badblocks.c */
extern errcode_t ext2fs_u32_list_create(ext2_u32_list *ret, int size);
extern errcode_t ext2fs_u32_list_add(ext2_u32_list bb, __u32 blk);
+extern int ext2fs_u32_list_find(ext2_u32_list bb, __u32 blk);
extern int ext2fs_u32_list_test(ext2_u32_list bb, blk_t blk);
extern errcode_t ext2fs_u32_list_iterate_begin(ext2_u32_list bb,
ext2_u32_iterate *ret);
@@ -754,9 +761,11 @@ extern errcode_t ext2fs_initialize(const char *name, int flags,
/* icount.c */
extern void ext2fs_free_icount(ext2_icount_t icount);
-extern errcode_t ext2fs_create_icount2(ext2_filsys fs, int flags, int size,
+extern errcode_t ext2fs_create_icount2(ext2_filsys fs, int flags,
+ unsigned int size,
ext2_icount_t hint, ext2_icount_t *ret);
-extern errcode_t ext2fs_create_icount(ext2_filsys fs, int flags, int size,
+extern errcode_t ext2fs_create_icount(ext2_filsys fs, int flags,
+ unsigned int size,
ext2_icount_t *ret);
extern errcode_t ext2fs_icount_fetch(ext2_icount_t icount, ext2_ino_t ino,
__u16 *ret);
@@ -839,7 +848,7 @@ extern errcode_t ext2fs_add_journal_inode(ext2_filsys fs, blk_t size,
/* openfs.c */
extern errcode_t ext2fs_open(const char *name, int flags, int superblock,
- int block_size, io_manager manager,
+ unsigned int block_size, io_manager manager,
ext2_filsys *ret_fs);
extern blk_t ext2fs_descriptor_block_loc(ext2_filsys fs, blk_t group_block,
dgrp_t i);
@@ -968,7 +977,7 @@ _INLINE_ errcode_t ext2fs_free_mem(void *ptr)
/*
* Resize memory
*/
-_INLINE_ errcode_t ext2fs_resize_mem(unsigned long old_size,
+_INLINE_ errcode_t ext2fs_resize_mem(unsigned long old_size EXT2FS_ATTR((unused)),
unsigned long size, void *ptr)
{
void *p;
diff --git a/lib/ext2fs/get_pathname.c b/lib/ext2fs/get_pathname.c
index a8449c64..23f593f6 100644
--- a/lib/ext2fs/get_pathname.c
+++ b/lib/ext2fs/get_pathname.c
@@ -38,9 +38,9 @@ struct get_pathname_struct {
#pragma argsused
#endif
static int get_pathname_proc(struct ext2_dir_entry *dirent,
- int offset,
- int blocksize,
- char *buf,
+ int offset EXT2FS_ATTR((unused)),
+ int blocksize EXT2FS_ATTR((unused)),
+ char *buf EXT2FS_ATTR((unused)),
void *priv_data)
{
struct get_pathname_struct *gp;
diff --git a/lib/ext2fs/icount.c b/lib/ext2fs/icount.c
index e08b3356..59977928 100644
--- a/lib/ext2fs/icount.c
+++ b/lib/ext2fs/icount.c
@@ -49,7 +49,7 @@ struct ext2_icount {
ext2_ino_t count;
ext2_ino_t size;
ext2_ino_t num_inodes;
- int cursor;
+ ext2_ino_t cursor;
struct ext2_icount_el *list;
};
@@ -68,13 +68,13 @@ void ext2fs_free_icount(ext2_icount_t icount)
ext2fs_free_mem(&icount);
}
-errcode_t ext2fs_create_icount2(ext2_filsys fs, int flags, int size,
+errcode_t ext2fs_create_icount2(ext2_filsys fs, int flags, unsigned int size,
ext2_icount_t hint, ext2_icount_t *ret)
{
ext2_icount_t icount;
errcode_t retval;
size_t bytes;
- int i;
+ ext2_ino_t i;
if (hint) {
EXT2_CHECK_MAGIC(hint, EXT2_ET_MAGIC_ICOUNT);
@@ -148,7 +148,8 @@ errout:
return(retval);
}
-errcode_t ext2fs_create_icount(ext2_filsys fs, int flags, int size,
+errcode_t ext2fs_create_icount(ext2_filsys fs, int flags,
+ unsigned int size,
ext2_icount_t *ret)
{
return ext2fs_create_icount2(fs, flags, size, 0, ret);
@@ -273,7 +274,7 @@ static struct ext2_icount_el *get_icount_el(ext2_icount_t icount,
errcode_t ext2fs_icount_validate(ext2_icount_t icount, FILE *out)
{
errcode_t ret = 0;
- int i;
+ unsigned int i;
const char *bad = "bad icount";
EXT2_CHECK_MAGIC(icount, EXT2_ET_MAGIC_ICOUNT);
diff --git a/lib/ext2fs/imager.c b/lib/ext2fs/imager.c
index b72a9fb2..596fbbeb 100644
--- a/lib/ext2fs/imager.c
+++ b/lib/ext2fs/imager.c
@@ -108,7 +108,7 @@ errcode_t ext2fs_image_inode_write(ext2_filsys fs, int fd, int flags)
retval = errno;
goto errout;
}
- if (actual != fs->blocksize * d) {
+ if (actual != (ssize_t) (fs->blocksize * d)) {
retval = EXT2_ET_SHORT_WRITE;
goto errout;
}
@@ -129,7 +129,8 @@ errout:
/*
* Read in the inode table and stuff it into place
*/
-errcode_t ext2fs_image_inode_read(ext2_filsys fs, int fd, int flags)
+errcode_t ext2fs_image_inode_read(ext2_filsys fs, int fd,
+ int flags EXT2FS_ATTR((unused)))
{
unsigned int group, c, left;
char *buf;
@@ -157,7 +158,7 @@ errcode_t ext2fs_image_inode_read(ext2_filsys fs, int fd, int flags)
retval = errno;
goto errout;
}
- if (actual != fs->blocksize * c) {
+ if (actual != (ssize_t) (fs->blocksize * c)) {
retval = EXT2_ET_SHORT_READ;
goto errout;
}
@@ -179,7 +180,8 @@ errout:
/*
* Write out superblock and group descriptors
*/
-errcode_t ext2fs_image_super_write(ext2_filsys fs, int fd, int flags)
+errcode_t ext2fs_image_super_write(ext2_filsys fs, int fd,
+ int flags EXT2FS_ATTR((unused)))
{
char *buf, *cp;
ssize_t actual;
@@ -199,7 +201,7 @@ errcode_t ext2fs_image_super_write(ext2_filsys fs, int fd, int flags)
retval = errno;
goto errout;
}
- if (actual != fs->blocksize) {
+ if (actual != (ssize_t) fs->blocksize) {
retval = EXT2_ET_SHORT_WRITE;
goto errout;
}
@@ -213,7 +215,7 @@ errcode_t ext2fs_image_super_write(ext2_filsys fs, int fd, int flags)
retval = errno;
goto errout;
}
- if (actual != fs->blocksize * fs->desc_blocks) {
+ if (actual != (ssize_t) (fs->blocksize * fs->desc_blocks)) {
retval = EXT2_ET_SHORT_WRITE;
goto errout;
}
@@ -228,7 +230,8 @@ errout:
/*
* Read the superblock and group descriptors and overwrite them.
*/
-errcode_t ext2fs_image_super_read(ext2_filsys fs, int fd, int flags)
+errcode_t ext2fs_image_super_read(ext2_filsys fs, int fd,
+ int flags EXT2FS_ATTR((unused)))
{
char *buf;
ssize_t actual, size;
@@ -312,7 +315,7 @@ errcode_t ext2fs_image_bitmap_write(ext2_filsys fs, int fd, int flags)
size = fs->blocksize - size;
while (size) {
c = size;
- if (c > sizeof(zero_buf))
+ if (c > (int) sizeof(zero_buf))
c = sizeof(zero_buf);
actual = write(fd, zero_buf, c);
if (actual == -1) {
diff --git a/lib/ext2fs/initialize.c b/lib/ext2fs/initialize.c
index d1cb7506..74f20a70 100644
--- a/lib/ext2fs/initialize.c
+++ b/lib/ext2fs/initialize.c
@@ -66,11 +66,11 @@ errcode_t ext2fs_initialize(const char *name, int flags,
errcode_t retval;
struct ext2_super_block *super;
int frags_per_block;
- int rem;
- int overhead = 0;
+ unsigned int rem;
+ unsigned int overhead = 0;
blk_t group_block;
- int ipg;
- int i, j;
+ unsigned int ipg;
+ dgrp_t i;
blk_t numblocks;
char *buf;
@@ -205,7 +205,7 @@ retry:
return EXT2_ET_TOO_MANY_INODES;
}
- if (ipg > EXT2_MAX_INODES_PER_GROUP(super))
+ if (ipg > (unsigned) EXT2_MAX_INODES_PER_GROUP(super))
ipg = EXT2_MAX_INODES_PER_GROUP(super);
super->s_inodes_per_group = ipg;
@@ -262,8 +262,8 @@ retry:
* necessary data structures. If not, we need to get rid of
* it.
*/
- rem = (int) ((super->s_blocks_count - super->s_first_data_block) %
- super->s_blocks_per_group);
+ rem = ((super->s_blocks_count - super->s_first_data_block) %
+ super->s_blocks_per_group);
if ((fs->group_desc_count == 1) && rem && (rem < overhead))
return EXT2_ET_TOOSMALL;
if (rem && (rem < overhead+50)) {
diff --git a/lib/ext2fs/inode.c b/lib/ext2fs/inode.c
index d80f6c01..50420b76 100644
--- a/lib/ext2fs/inode.c
+++ b/lib/ext2fs/inode.c
@@ -483,7 +483,8 @@ errcode_t ext2fs_read_inode (ext2_filsys fs, ext2_ino_t ino,
unsigned long group, block, block_nr, offset;
char *ptr;
errcode_t retval;
- int clen, length, i, inodes_per_block;
+ int clen, i, inodes_per_block;
+ unsigned int length;
EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
@@ -539,7 +540,7 @@ errcode_t ext2fs_read_inode (ext2_filsys fs, ext2_ino_t ino,
if (length > sizeof(struct ext2_inode))
length = sizeof(struct ext2_inode);
- if ((offset + length) > EXT2_BLOCK_SIZE(fs->super)) {
+ if ((offset + length) > (unsigned) EXT2_BLOCK_SIZE(fs->super)) {
clen = (int) (EXT2_BLOCK_SIZE(fs->super) - offset);
memcpy((char *) inode, ptr, clen);
length -= clen;
@@ -579,7 +580,8 @@ errcode_t ext2fs_write_inode(ext2_filsys fs, ext2_ino_t ino,
errcode_t retval;
struct ext2_inode temp_inode;
char *ptr;
- int clen, length, i;
+ int clen, i;
+ unsigned int length;
EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
@@ -641,7 +643,7 @@ errcode_t ext2fs_write_inode(ext2_filsys fs, ext2_ino_t ino,
fs->icache->buffer_blk = block_nr;
}
- if ((offset + length) > EXT2_BLOCK_SIZE(fs->super)) {
+ if ((offset + length) > (unsigned) EXT2_BLOCK_SIZE(fs->super)) {
clen = (int) (EXT2_BLOCK_SIZE(fs->super) - offset);
length -= clen;
} else {
diff --git a/lib/ext2fs/jfs_compat.h b/lib/ext2fs/jfs_compat.h
index c8dc5af7..30ad1ef5 100644
--- a/lib/ext2fs/jfs_compat.h
+++ b/lib/ext2fs/jfs_compat.h
@@ -18,7 +18,7 @@
#define cpu_to_be32(n) htonl(n)
#define be32_to_cpu(n) ntohl(n)
-typedef int tid_t;
+typedef unsigned int tid_t;
typedef struct journal_s journal_t;
struct buffer_head;
diff --git a/lib/ext2fs/lookup.c b/lib/ext2fs/lookup.c
index af9fdd1d..1745f33a 100644
--- a/lib/ext2fs/lookup.c
+++ b/lib/ext2fs/lookup.c
@@ -29,9 +29,9 @@ struct lookup_struct {
#pragma argsused
#endif
static int lookup_proc(struct ext2_dir_entry *dirent,
- int offset,
- int blocksize,
- char *buf,
+ int offset EXT2FS_ATTR((unused)),
+ int blocksize EXT2FS_ATTR((unused)),
+ char *buf EXT2FS_ATTR((unused)),
void *priv_data)
{
struct lookup_struct *ls = (struct lookup_struct *) priv_data;
diff --git a/lib/ext2fs/mkjournal.c b/lib/ext2fs/mkjournal.c
index abf162e7..427a08e7 100644
--- a/lib/ext2fs/mkjournal.c
+++ b/lib/ext2fs/mkjournal.c
@@ -94,7 +94,8 @@ static errcode_t write_journal_file(ext2_filsys fs, char *filename,
{
errcode_t retval;
char *buf = 0;
- int i, fd, ret_size;
+ int fd, ret_size;
+ blk_t i;
if ((retval = ext2fs_create_journal_superblock(fs, size, flags, &buf)))
return retval;
@@ -112,7 +113,7 @@ static errcode_t write_journal_file(ext2_filsys fs, char *filename,
retval = errno;
goto errout;
}
- if (ret_size != fs->blocksize)
+ if (ret_size != (int) fs->blocksize)
goto errout;
memset(buf, 0, fs->blocksize);
@@ -122,7 +123,7 @@ static errcode_t write_journal_file(ext2_filsys fs, char *filename,
retval = errno;
goto errout;
}
- if (ret_size != fs->blocksize)
+ if (ret_size != (int) fs->blocksize)
goto errout;
}
close(fd);
@@ -143,12 +144,12 @@ struct mkjournal_struct {
errcode_t err;
};
-static int mkjournal_proc(ext2_filsys fs,
- blk_t *blocknr,
- e2_blkcnt_t blockcnt,
- blk_t ref_block,
- int ref_offset,
- void *priv_data)
+static int mkjournal_proc(ext2_filsys fs,
+ blk_t *blocknr,
+ e2_blkcnt_t blockcnt,
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
+ void *priv_data)
{
struct mkjournal_struct *es = (struct mkjournal_struct *) priv_data;
blk_t new_blk;
@@ -255,8 +256,8 @@ errcode_t ext2fs_add_journal_device(ext2_filsys fs, ext2_filsys journal_dev)
errcode_t retval;
char buf[1024];
journal_superblock_t *jsb;
- int i, start;
- __u32 nr_users;
+ int start;
+ __u32 i, nr_users;
/* Make sure the device exists and is a block device */
if (stat(journal_dev->device_name, &st) < 0)
@@ -277,7 +278,7 @@ errcode_t ext2fs_add_journal_device(ext2_filsys fs, ext2_filsys journal_dev)
(jsb->s_header.h_blocktype != (unsigned) ntohl(JFS_SUPERBLOCK_V2)))
return EXT2_ET_NO_JOURNAL_SB;
- if (ntohl(jsb->s_blocksize) != fs->blocksize)
+ if (ntohl(jsb->s_blocksize) != (unsigned long) fs->blocksize)
return EXT2_ET_UNEXPECTED_BLOCK_SIZE;
/* Check and see if this filesystem has already been added */
diff --git a/lib/ext2fs/openfs.c b/lib/ext2fs/openfs.c
index 7dd5737e..bc7c5bb3 100644
--- a/lib/ext2fs/openfs.c
+++ b/lib/ext2fs/openfs.c
@@ -71,11 +71,13 @@ blk_t ext2fs_descriptor_block_loc(ext2_filsys fs, blk_t group_block, dgrp_t i)
* EXT2_FLAG_JOURNAL_DEV_OK - Open an ext3 journal device
*/
errcode_t ext2fs_open(const char *name, int flags, int superblock,
- int block_size, io_manager manager, ext2_filsys *ret_fs)
+ unsigned int block_size, io_manager manager,
+ ext2_filsys *ret_fs)
{
ext2_filsys fs;
errcode_t retval;
- int i, j, groups_per_block, blocks_per_group;
+ unsigned long i;
+ int j, groups_per_block, blocks_per_group;
blk_t group_block, blk;
char *dest;
struct ext2_group_desc *gdp;
diff --git a/lib/ext2fs/read_bb.c b/lib/ext2fs/read_bb.c
index d0f31391..c717adcd 100644
--- a/lib/ext2fs/read_bb.c
+++ b/lib/ext2fs/read_bb.c
@@ -38,8 +38,10 @@ struct read_bb_record {
#pragma argsused
#endif
static int mark_bad_block(ext2_filsys fs, blk_t *block_nr,
- e2_blkcnt_t blockcnt, blk_t ref_block,
- int ref_offset, void *priv_data)
+ e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)),
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
+ void *priv_data)
{
struct read_bb_record *rb = (struct read_bb_record *) priv_data;
diff --git a/lib/ext2fs/read_bb_file.c b/lib/ext2fs/read_bb_file.c
index f671b92b..40c34ee3 100644
--- a/lib/ext2fs/read_bb_file.c
+++ b/lib/ext2fs/read_bb_file.c
@@ -72,7 +72,8 @@ errcode_t ext2fs_read_bb_FILE2(ext2_filsys fs, FILE *f,
}
static void call_compat_invalid(ext2_filsys fs, blk_t blk,
- char *badstr, void *priv_data)
+ char *badstr EXT2FS_ATTR((unused)),
+ void *priv_data)
{
void (*invalid)(ext2_filsys, blk_t);
diff --git a/lib/ext2fs/rw_bitmaps.c b/lib/ext2fs/rw_bitmaps.c
index 2c5f3976..ff3dd591 100644
--- a/lib/ext2fs/rw_bitmaps.c
+++ b/lib/ext2fs/rw_bitmaps.c
@@ -96,9 +96,9 @@ errcode_t ext2fs_write_inode_bitmap(ext2_filsys fs)
errcode_t ext2fs_write_block_bitmap (ext2_filsys fs)
{
dgrp_t i;
- int j;
+ unsigned int j;
int nbytes;
- int nbits;
+ unsigned int nbits;
errcode_t retval;
char * block_bitmap = fs->block_map->bitmap;
char * bitmap_block = NULL;
@@ -119,9 +119,9 @@ errcode_t ext2fs_write_block_bitmap (ext2_filsys fs)
memcpy(bitmap_block, block_bitmap, nbytes);
if (i == fs->group_desc_count - 1) {
/* Force bitmap padding for the last group */
- nbits = (int) ((fs->super->s_blocks_count
- - fs->super->s_first_data_block)
- % EXT2_BLOCKS_PER_GROUP(fs->super));
+ nbits = ((fs->super->s_blocks_count
+ - fs->super->s_first_data_block)
+ % EXT2_BLOCKS_PER_GROUP(fs->super));
if (nbits)
for (j = nbits; j < fs->blocksize * 8; j++)
ext2fs_set_bit(j, bitmap_block);
diff --git a/lib/ext2fs/unix_io.c b/lib/ext2fs/unix_io.c
index 2c732e9c..5b2f364b 100644
--- a/lib/ext2fs/unix_io.c
+++ b/lib/ext2fs/unix_io.c
@@ -113,7 +113,7 @@ static errcode_t raw_read_blk(io_channel channel,
int count, void *buf)
{
errcode_t retval;
- size_t size;
+ ssize_t size;
ext2_loff_t location;
int actual = 0;
@@ -199,7 +199,7 @@ static errcode_t raw_write_blk(io_channel channel,
unsigned long block,
int count, const void *buf)
{
- size_t size;
+ ssize_t size;
ext2_loff_t location;
int actual = 0;
errcode_t retval;
@@ -260,8 +260,7 @@ static errcode_t alloc_cache(io_channel channel,
}
/* Free the cache buffers */
-static void free_cache(io_channel channel,
- struct unix_private_data *data)
+static void free_cache(struct unix_private_data *data)
{
struct unix_cache *cache;
int i;
@@ -284,8 +283,7 @@ static void free_cache(io_channel channel,
* eldest is a non-zero pointer, then fill in eldest with the cache
* entry to that should be reused.
*/
-static struct unix_cache *find_cached_block(io_channel channel,
- struct unix_private_data *data,
+static struct unix_cache *find_cached_block(struct unix_private_data *data,
unsigned long block,
struct unix_cache **eldest)
{
@@ -451,7 +449,7 @@ static errcode_t unix_open(const char *name, int flags, io_channel *channel)
cleanup:
if (data) {
- free_cache(io, data);
+ free_cache(data);
ext2fs_free_mem(&data);
}
if (io)
@@ -477,7 +475,7 @@ static errcode_t unix_close(io_channel channel)
if (close(data->dev) < 0)
retval = errno;
- free_cache(channel, data);
+ free_cache(data);
ext2fs_free_mem(&channel->private_data);
if (channel->name)
@@ -502,7 +500,7 @@ static errcode_t unix_set_blksize(io_channel channel, int blksize)
#endif
channel->block_size = blksize;
- free_cache(channel, data);
+ free_cache(data);
if ((retval = alloc_cache(channel, data)))
return retval;
}
@@ -539,8 +537,7 @@ static errcode_t unix_read_blk(io_channel channel, unsigned long block,
cp = buf;
while (count > 0) {
/* If it's in the cache, use it! */
- if ((cache = find_cached_block(channel, data, block,
- &reuse[0]))) {
+ if ((cache = find_cached_block(data, block, &reuse[0]))) {
#ifdef DEBUG
printf("Using cached block %d\n", block);
#endif
@@ -555,8 +552,7 @@ static errcode_t unix_read_blk(io_channel channel, unsigned long block,
* single read request
*/
for (i=1; i < count; i++)
- if (find_cached_block(channel, data, block+i,
- &reuse[i]))
+ if (find_cached_block(data, block+i, &reuse[i]))
break;
#ifdef DEBUG
printf("Reading %d blocks starting at %d\n", i, block);
@@ -614,7 +610,7 @@ static errcode_t unix_write_blk(io_channel channel, unsigned long block,
cp = buf;
while (count > 0) {
- cache = find_cached_block(channel, data, block, &reuse);
+ cache = find_cached_block(data, block, &reuse);
if (!cache) {
cache = reuse;
reuse_cache(channel, data, cache, block);
@@ -634,7 +630,7 @@ static errcode_t unix_write_byte(io_channel channel, unsigned long offset,
{
struct unix_private_data *data;
errcode_t retval = 0;
- size_t actual;
+ ssize_t actual;
EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL);
data = (struct unix_private_data *) channel->private_data;
diff --git a/lib/ext2fs/unlink.c b/lib/ext2fs/unlink.c
index 03825c49..5612b3dd 100644
--- a/lib/ext2fs/unlink.c
+++ b/lib/ext2fs/unlink.c
@@ -30,9 +30,9 @@ struct link_struct {
#pragma argsused
#endif
static int unlink_proc(struct ext2_dir_entry *dirent,
- int offset,
- int blocksize,
- char *buf,
+ int offset EXT2FS_ATTR((unused)),
+ int blocksize EXT2FS_ATTR((unused)),
+ char *buf EXT2FS_ATTR((unused)),
void *priv_data)
{
struct link_struct *ls = (struct link_struct *) priv_data;
@@ -55,7 +55,7 @@ static int unlink_proc(struct ext2_dir_entry *dirent,
#endif
errcode_t ext2fs_unlink(ext2_filsys fs, ext2_ino_t dir,
const char *name, ext2_ino_t ino,
- int flags)
+ int flags EXT2FS_ATTR((unused)))
{
errcode_t retval;
struct link_struct ls;
diff --git a/lib/ext2fs/write_bb_file.c b/lib/ext2fs/write_bb_file.c
index 011c480a..269b576b 100644
--- a/lib/ext2fs/write_bb_file.c
+++ b/lib/ext2fs/write_bb_file.c
@@ -15,7 +15,7 @@
#include "ext2fs.h"
errcode_t ext2fs_write_bb_FILE(ext2_badblocks_list bb_list,
- unsigned int flags,
+ unsigned int flags EXT2FS_ATTR((unused)),
FILE *f)
{
badblocks_iterate bb_iter;
diff --git a/lib/ss/ChangeLog b/lib/ss/ChangeLog
index 25e84e16..dbe8a056 100644
--- a/lib/ss/ChangeLog
+++ b/lib/ss/ChangeLog
@@ -1,3 +1,8 @@
+2003-12-07 Theodore Ts'o <tytso@mit.edu>
+
+ * list_rqs.c, listen.c, requests.c, ss.h, ss_internal.h: Fix gcc
+ -Wall nitpicks.
+
2003-07-25 Theodore Ts'o <tytso@mit.edu>
* Release of E2fsprogs 1.34
diff --git a/lib/ss/list_rqs.c b/lib/ss/list_rqs.c
index b1fc5ed6..770f5f02 100644
--- a/lib/ss/list_rqs.c
+++ b/lib/ss/list_rqs.c
@@ -17,26 +17,18 @@
typedef void sigret_t;
-#ifdef lint /* "lint returns a value which is sometimes ignored" */
-#define DONT_USE(x) x=x;
-#else /* !lint */
-#define DONT_USE(x) ;
-#endif /* lint */
-
static char const twentyfive_spaces[26] =
" ";
static char const NL[2] = "\n";
-void ss_list_requests(argc, argv, sci_idx, info_ptr)
- int argc;
- char const * const * argv;
- int sci_idx;
- pointer info_ptr;
+void ss_list_requests(int argc __SS_ATTR((unused)),
+ const char * const *argv __SS_ATTR((unused)),
+ int sci_idx, void *infop __SS_ATTR((unused)))
{
- register ss_request_entry *entry;
- register char const * const *name;
- register int spacing;
- register ss_request_table **table;
+ ss_request_entry *entry;
+ char const * const *name;
+ int spacing;
+ ss_request_table **table;
char buffer[BUFSIZ];
FILE *output;
@@ -47,9 +39,6 @@ void ss_list_requests(argc, argv, sci_idx, info_ptr)
int waitb;
#endif
- DONT_USE(argc);
- DONT_USE(argv);
-
sigemptyset(&igmask);
sigaddset(&igmask, SIGINT);
sigprocmask(SIG_BLOCK, &igmask, &omask);
@@ -69,7 +58,7 @@ void ss_list_requests(argc, argv, sci_idx, info_ptr)
if (entry->flags & SS_OPT_DONT_LIST)
continue;
for (name = entry->command_names; *name; name++) {
- register int len = strlen(*name);
+ int len = strlen(*name);
strncat(buffer, *name, len);
spacing += len + 2;
if (name[1]) {
diff --git a/lib/ss/listen.c b/lib/ss/listen.c
index 784af444..05d0dc06 100644
--- a/lib/ss/listen.c
+++ b/lib/ss/listen.c
@@ -28,7 +28,7 @@ static ss_data *current_info;
static jmp_buf listen_jmpb;
static sigret_t (*sig_cont)(int);
-static sigret_t print_prompt(int sig)
+static sigret_t print_prompt(int sig __SS_ATTR((unused)))
{
if (current_info->redisplay)
(*current_info->redisplay)();
@@ -38,7 +38,7 @@ static sigret_t print_prompt(int sig)
}
}
-static sigret_t listen_int_handler(int sig)
+static sigret_t listen_int_handler(int sig __SS_ATTR((unused)))
{
putc('\n', stdout);
signal(SIGINT, listen_int_handler);
@@ -133,7 +133,9 @@ void ss_abort_subsystem(int sci_idx, int code)
}
-void ss_quit(int argc, const char * const *argv, int sci_idx, pointer infop)
+void ss_quit(int argc __SS_ATTR((unused)),
+ const char * const *argv __SS_ATTR((unused)),
+ int sci_idx, pointer infop __SS_ATTR((unused)))
{
ss_abort_subsystem(sci_idx, 0);
}
@@ -185,7 +187,8 @@ static char *cmd_generator(const char *text, int state)
return 0;
}
-char **ss_rl_completion(const char *text, int start, int end)
+char **ss_rl_completion(const char *text, int start,
+ int end __SS_ATTR((unused)))
{
if ((start == 0) && current_info->rl_completion_matches)
return (*current_info->rl_completion_matches)
diff --git a/lib/ss/requests.c b/lib/ss/requests.c
index 7f1805d4..80133688 100644
--- a/lib/ss/requests.c
+++ b/lib/ss/requests.c
@@ -22,8 +22,9 @@
/*
* ss_self_identify -- assigned by default to the "." request
*/
-void ss_self_identify(int argc,const char * const *argv,
- int sci_idx, void *infop)
+void ss_self_identify(int argc __SS_ATTR((unused)),
+ const char * const *argv __SS_ATTR((unused)),
+ int sci_idx, void *infop __SS_ATTR((unused)))
{
register ss_data *info = ss_info(sci_idx);
printf("%s version %s\n", info->subsystem_name,
@@ -33,8 +34,10 @@ void ss_self_identify(int argc,const char * const *argv,
/*
* ss_subsystem_name -- print name of subsystem
*/
-void ss_subsystem_name(int argc,const char * const *argv,
- int sci_idx, void *infop)
+void ss_subsystem_name(int argc __SS_ATTR((unused)),
+ const char * const *argv __SS_ATTR((unused)),
+ int sci_idx,
+ void *infop __SS_ATTR((unused)))
{
printf("%s\n", ss_info(sci_idx)->subsystem_name);
}
@@ -42,8 +45,10 @@ void ss_subsystem_name(int argc,const char * const *argv,
/*
* ss_subsystem_version -- print version of subsystem
*/
-void ss_subsystem_version(int argc,const char * const *argv,
- int sci_idx, void *infop)
+void ss_subsystem_version(int argc __SS_ATTR((unused)),
+ const char * const *argv __SS_ATTR((unused)),
+ int sci_idx,
+ void *infop __SS_ATTR((unused)))
{
printf("%s\n", ss_info(sci_idx)->subsystem_version);
}
@@ -52,8 +57,9 @@ void ss_subsystem_version(int argc,const char * const *argv,
* ss_unimplemented -- routine not implemented (should be
* set up as (dont_list,dont_summarize))
*/
-void ss_unimplemented(int argc,const char * const *argv,
- int sci_idx, void *infop)
+void ss_unimplemented(int argc __SS_ATTR((unused)),
+ const char * const *argv __SS_ATTR((unused)),
+ int sci_idx, void *infop __SS_ATTR((unused)))
{
ss_perror(sci_idx, SS_ET_UNIMPLEMENTED, "");
}
diff --git a/lib/ss/ss.h b/lib/ss/ss.h
index 90a268aa..6cc050bd 100644
--- a/lib/ss/ss.h
+++ b/lib/ss/ss.h
@@ -28,6 +28,13 @@
#define __SS_CONST const
#define __SS_PROTO (int, const char * const *, int, void *)
+#ifdef __GNUC__
+#define __SS_ATTR(x) __attribute__(x)
+#else
+#define __SS_ATTR(x)
+#endif
+
+
typedef __SS_CONST struct _ss_request_entry {
__SS_CONST char * __SS_CONST *command_names; /* whatever */
void (* __SS_CONST function) __SS_PROTO; /* foo */
@@ -60,8 +67,10 @@ char *ss_current_request(); /* This is actually a macro */
#endif
char *ss_name(int sci_idx);
-void ss_error (int, long, char const *, ...);
+void ss_error (int, long, char const *, ...)
+ __SS_ATTR((format(printf, 3, 4)));
void ss_perror (int, long, char const *);
+
int ss_create_invocation(const char *, const char *, void *,
ss_request_table *, int *);
void ss_delete_invocation(int);
diff --git a/misc/ChangeLog b/misc/ChangeLog
index 03e6cc12..74ab9ed7 100644
--- a/misc/ChangeLog
+++ b/misc/ChangeLog
@@ -1,3 +1,9 @@
+2003-12-07 Theodore Ts'o <tytso@mit.edu>
+
+ * badblocks.c, blkid.c, chattr.c, dumpe2fs.c, e2image.c, fsck.c,
+ fsck.h, lsattr.c, mke2fs.c, nls-enable.h, tune2fs.c,
+ util.c: Fix gcc -Wall nitpicks.
+
2003-09-13 Theodore Ts'o <tytso@mit.edu>
* tune2fs.c (parse_e2label_options, parse_tune2fs_options,
diff --git a/misc/badblocks.c b/misc/badblocks.c
index aae4842c..2c5e17e1 100644
--- a/misc/badblocks.c
+++ b/misc/badblocks.c
@@ -146,7 +146,7 @@ static void print_status(void)
fflush (stderr);
}
-static void alarm_intr(int alnum)
+static void alarm_intr(int alnum EXT2FS_ATTR((unused)))
{
signal (SIGALRM, alarm_intr);
alarm(1);
@@ -159,7 +159,7 @@ static void alarm_intr(int alnum)
static void *terminate_addr = NULL;
-static void terminate_intr(int signo)
+static void terminate_intr(int signo EXT2FS_ATTR((unused)))
{
if (terminate_addr)
longjmp(terminate_addr,1);
@@ -216,15 +216,15 @@ static void set_o_direct(int dev, unsigned char *buffer, size_t size,
static void pattern_fill(unsigned char *buffer, unsigned long pattern,
size_t n)
{
- int i, nb;
+ unsigned int i, nb;
unsigned char bpattern[sizeof(pattern)], *ptr;
- if (pattern == ~0) {
+ if (pattern == (unsigned char) ~0) {
for (ptr = buffer; ptr < buffer + n; ptr++) {
(*ptr) = random() % (1 << (8 * sizeof(char)));
}
if (s_flag | v_flag)
- fprintf(stderr, _("Testing with random pattern: "));
+ fputs(_("Testing with random pattern: "), stderr);
} else {
bpattern[0] = 0;
for (i = 0; i < sizeof(bpattern); i++) {
@@ -235,15 +235,17 @@ static void pattern_fill(unsigned char *buffer, unsigned long pattern,
}
nb = i ? (i-1) : 0;
for (ptr = buffer, i = nb; ptr < buffer + n; ptr++) {
- *ptr = bpattern[i--];
- if (i < 0)
+ *ptr = bpattern[i];
+ if (i == 0)
i = nb;
+ else
+ i--;
}
if (s_flag | v_flag) {
- fprintf(stderr, _("Testing with pattern 0x"));
+ fputs(_("Testing with pattern 0x"), stderr);
for (i = 0; i <= nb; i++)
fprintf(stderr, "%02x", buffer[i]);
- fprintf(stderr, ": ");
+ fputs(": ", stderr);
}
}
}
@@ -301,8 +303,7 @@ static long do_write (int dev, unsigned char * buffer, int try, int block_size,
if (got < 0)
got = 0;
if (got & 511)
- fprintf (stderr,
- "Weird value (%ld) in do_write\n", got);
+ fprintf(stderr, "Weird value (%ld) in do_write\n", got);
got /= block_size;
return got;
}
@@ -353,7 +354,7 @@ static unsigned int test_ro (int dev, unsigned long last_block,
last_block);
}
if (t_flag) {
- fprintf(stderr, _("Checking for bad blocks in read-only mode\n"));
+ fputs(_("Checking for bad blocks in read-only mode\n"), stderr);
pattern_fill(blkbuf + blocks_at_once * block_size,
t_patts[0], block_size);
}
@@ -362,8 +363,7 @@ static unsigned int test_ro (int dev, unsigned long last_block,
currently_testing = from_count;
num_blocks = last_block;
if (!t_flag && (s_flag || v_flag)) {
- fprintf(stderr,
- _("Checking for bad blocks (read-only test): "));
+ fputs(_("Checking for bad blocks (read-only test): "), stderr);
if (v_flag <= 1)
alarm_intr(SIGALRM);
}
@@ -396,7 +396,7 @@ static unsigned int test_ro (int dev, unsigned long last_block,
if (got == try) {
try = blocks_at_once;
/* recover page-aligned offset for O_DIRECT */
- if ( blocks_at_once >= (sys_page_size >> 9)
+ if ( blocks_at_once >= (unsigned long) (sys_page_size >> 9)
&& (currently_testing % (sys_page_size >> 9)!= 0))
try -= (sys_page_size >> 9)
- (currently_testing
@@ -443,8 +443,8 @@ static unsigned int test_rw (int dev, unsigned long last_block,
flush_bufs();
if (v_flag) {
- fprintf(stderr,
- _("Checking for bad blocks in read-write mode\n"));
+ fputs(_("Checking for bad blocks in read-write mode\n"),
+ stderr);
fprintf(stderr, _("From block %lu to %lu\n"),
from_count, last_block);
}
@@ -476,7 +476,7 @@ static unsigned int test_rw (int dev, unsigned long last_block,
if (got == try) {
try = blocks_at_once;
/* recover page-aligned offset for O_DIRECT */
- if ( blocks_at_once >= (sys_page_size >> 9)
+ if ( blocks_at_once >= (unsigned long) (sys_page_size >> 9)
&& (currently_testing %
(sys_page_size >> 9)!= 0))
try -= (sys_page_size >> 9)
@@ -496,7 +496,7 @@ static unsigned int test_rw (int dev, unsigned long last_block,
fputs(done_string, stderr);
flush_bufs();
if (s_flag | v_flag)
- fprintf (stderr, _("Reading and comparing: "));
+ fputs(_("Reading and comparing: "), stderr);
num_blocks = last_block;
currently_testing = from_count;
if (s_flag && v_flag <= 1)
@@ -520,7 +520,7 @@ static unsigned int test_rw (int dev, unsigned long last_block,
}
currently_testing += got;
/* recover page-aligned offset for O_DIRECT */
- if ( blocks_at_once >= (sys_page_size >> 9)
+ if ( blocks_at_once >= (unsigned long) (sys_page_size >> 9)
&& (currently_testing % (sys_page_size >> 9)!= 0))
try = blocks_at_once - (sys_page_size >> 9)
- (currently_testing
@@ -563,9 +563,10 @@ static unsigned int test_nd (int dev, unsigned long last_block,
static int num_saved;
jmp_buf terminate_env;
errcode_t errcode;
- long buf_used;
- unsigned int bb_count = 0;
+ unsigned long buf_used;
+ static unsigned int bb_count;
+ bb_count = 0;
errcode = ext2fs_badblocks_list_iterate_begin(bb_list,&bb_iter);
if (errcode) {
com_err (program_name, errcode,
@@ -591,19 +592,18 @@ static unsigned int test_nd (int dev, unsigned long last_block,
flush_bufs();
if (v_flag) {
- fprintf (stderr,
- _("Checking for bad blocks in non-destructive read-write mode\n"));
+ fputs(_("Checking for bad blocks in non-destructive read-write mode\n"), stderr);
fprintf (stderr, _("From block %lu to %lu\n"), from_count, last_block);
}
if (s_flag || v_flag > 1) {
- fprintf(stderr, _("Checking for bad blocks (non-destructive read-write test)\n"));
+ fputs(_("Checking for bad blocks (non-destructive read-write test)\n"), stderr);
}
if (setjmp(terminate_env)) {
/*
* Abnormal termination by a signal is handled here.
*/
signal (SIGALRM, SIG_IGN);
- fprintf(stderr, _("\nInterrupt caught, cleaning up\n"));
+ fputs(_("\nInterrupt caught, cleaning up\n"), stderr);
save_ptr = save_base;
for (i=0; i < num_saved; i++) {
@@ -787,11 +787,11 @@ static void check_mount(char *device_name)
fprintf(stderr, _("%s is mounted; "), device_name);
if (force) {
- fprintf(stderr, _("badblocks forced anyway. "
- "Hope /etc/mtab is incorrect.\n"));
+ fputs(_("badblocks forced anyway. "
+ "Hope /etc/mtab is incorrect.\n"), stderr);
return;
}
- fprintf(stderr, _("it's not safe to run badblocks!\n"));
+ fputs(_("it's not safe to run badblocks!\n"), stderr);
exit(1);
}
@@ -925,7 +925,7 @@ int main (int argc, char ** argv)
optarg);
exit(1);
}
- if (pattern == ~0)
+ if (pattern == (unsigned long) ~0)
pattern = 0xffff;
t_patts[t_flag++] = pattern;
}
@@ -941,7 +941,7 @@ int main (int argc, char ** argv)
"in read-only mode"));
exit(1);
}
- if (t_patts && (t_patts[0] == ~0)) {
+ if (t_patts && (t_patts[0] == (unsigned long) ~0)) {
com_err(program_name, 0,
_("Random test_pattern is not allowed "
"in read-only mode"));
@@ -985,7 +985,7 @@ int main (int argc, char ** argv)
} else from_count = 0;
if (from_count >= last_block) {
com_err (program_name, 0, _("bad blocks range: %lu-%lu"),
- from_count, last_block);
+ (unsigned long) from_count, (unsigned long) last_block);
exit (1);
}
if (w_flag)
diff --git a/misc/blkid.c b/misc/blkid.c
index 2b71a561..9caebbdf 100644
--- a/misc/blkid.c
+++ b/misc/blkid.c
@@ -25,7 +25,7 @@ const char *progname = "blkid";
static void print_version(FILE *out)
{
- fprintf(stderr, "%s %s (%s)\n", progname, BLKID_VERSION, BLKID_DATE);
+ fprintf(out, "%s %s (%s)\n", progname, BLKID_VERSION, BLKID_DATE);
}
static void usage(int error)
@@ -85,10 +85,10 @@ int main(int argc, char **argv)
char *search_type = NULL, *search_value = NULL;
char *read = NULL;
char *write = NULL;
- int numdev = 0, numtag = 0;
+ unsigned int numdev = 0, numtag = 0;
int version = 0;
int err = 4;
- int i;
+ unsigned int i;
char c;
while ((c = getopt (argc, argv, "c:f:hps:t:w:v")) != EOF)
diff --git a/misc/chattr.c b/misc/chattr.c
index 4ff15645..b4b1ca3b 100644
--- a/misc/chattr.c
+++ b/misc/chattr.c
@@ -34,6 +34,12 @@
#include <sys/stat.h>
#include "ext2fs/ext2_fs.h"
+#ifdef __GNUC__
+#define EXT2FS_ATTR(x) __attribute__(x)
+#else
+#define EXT2FS_ATTR(x)
+#endif
+
#ifndef S_ISLNK /* So we can compile even with gcc-warn */
# ifdef __S_IFLNK
# define S_ISLNK(mode) __S_ISTYPE((mode), __S_IFLNK)
@@ -239,7 +245,7 @@ static void change_attributes (const char * name)
}
static int chattr_dir_proc (const char * dir_name, struct dirent * de,
- void * unused_private)
+ void * private EXT2FS_ATTR((unused)))
{
if (strcmp (de->d_name, ".") && strcmp (de->d_name, "..")) {
char *path;
@@ -278,15 +284,15 @@ int main (int argc, char ** argv)
if (i >= argc)
usage ();
if (set && (add || rem)) {
- fprintf (stderr, _("= is incompatible with - and +\n"));
+ fputs(_("= is incompatible with - and +\n"), stderr);
exit (1);
}
if ((rf & af) != 0) {
- fprintf (stderr, "Can't both set and unset same flag.\n");
+ fputs("Can't both set and unset same flag.\n", stderr);
exit (1);
}
if (!(add || rem || set || set_version)) {
- fprintf (stderr, _("Must use '-v', =, - or +\n"));
+ fputs(_("Must use '-v', =, - or +\n"), stderr);
exit (1);
}
if (verbose)
diff --git a/misc/dumpe2fs.c b/misc/dumpe2fs.c
index d04fe16b..da8fdfab 100644
--- a/misc/dumpe2fs.c
+++ b/misc/dumpe2fs.c
@@ -56,6 +56,11 @@ static void usage(void)
exit (1);
}
+static void print_number (unsigned long num)
+{
+ printf(num_format, num);
+}
+
static void print_free (unsigned long group, char * bitmap,
unsigned long nbytes, unsigned long offset)
{
@@ -69,12 +74,12 @@ static void print_free (unsigned long group, char * bitmap,
{
if (p)
printf (", ");
- printf (num_format, i + offset);
+ print_number(i + offset);
for (j = i; j < nbytes && !in_use (bitmap, j); j++)
;
if (--j != i) {
fputc('-', stdout);
- printf(num_format, j + offset);
+ print_number(j + offset);
i = j;
}
p = 1;
@@ -119,7 +124,7 @@ static void list_desc (ext2_filsys fs)
if (has_super) {
printf (_(" %s superblock at "),
i == 0 ? _("Primary") : _("Backup"));
- printf(num_format, super_blk);
+ print_number(super_blk);
}
if (old_desc_blk) {
printf(_(", Group descriptors at "));
@@ -128,18 +133,18 @@ static void list_desc (ext2_filsys fs)
} else if (new_desc_blk) {
fputc(has_super ? ',' : ' ', stdout);
printf(_(" Group descriptor at "));
- printf(num_format, new_desc_blk);
+ print_number(new_desc_blk);
has_super++;
}
if (has_super)
fputc('\n', stdout);
fputs(_(" Block bitmap at "), stdout);
- printf(num_format, fs->group_desc[i].bg_block_bitmap);
+ print_number(fs->group_desc[i].bg_block_bitmap);
diff = fs->group_desc[i].bg_block_bitmap - group_blk;
if (diff >= 0)
printf(" (+%ld)", diff);
fputs(_(", Inode bitmap at "), stdout);
- printf(num_format, fs->group_desc[i].bg_inode_bitmap);
+ print_number(fs->group_desc[i].bg_inode_bitmap);
diff = fs->group_desc[i].bg_inode_bitmap - group_blk;
if (diff >= 0)
printf(" (+%ld)", diff);
@@ -213,7 +218,7 @@ static void print_journal_information(ext2_filsys fs)
errcode_t retval;
char buf[1024];
char str[80];
- int i;
+ unsigned int i;
journal_superblock_t *jsb;
/* Get the journal superblock */
diff --git a/misc/e2image.c b/misc/e2image.c
index 1cb2a1d0..c6d9dcff 100644
--- a/misc/e2image.c
+++ b/misc/e2image.c
@@ -58,7 +58,7 @@ static void write_header(int fd, struct ext2_image_hdr *hdr, int blocksize)
header_buf = malloc(blocksize);
if (!header_buf) {
- fprintf(stderr, _("Couldn't allocate header buffer\n"));
+ fputs(_("Couldn't allocate header buffer\n"), stderr);
exit(1);
}
@@ -160,8 +160,9 @@ struct process_block_struct {
static ino_t stashed_ino = 0;
static struct ext2_inode *stashed_inode;
-static errcode_t meta_get_blocks(ext2_filsys fs, ext2_ino_t ino,
- blk_t *blocks)
+static errcode_t meta_get_blocks(ext2_filsys fs EXT2FS_ATTR((unused)),
+ ext2_ino_t ino,
+ blk_t *blocks)
{
int i;
@@ -173,7 +174,8 @@ static errcode_t meta_get_blocks(ext2_filsys fs, ext2_ino_t ino,
return 0;
}
-static errcode_t meta_check_directory(ext2_filsys fs, ext2_ino_t ino)
+static errcode_t meta_check_directory(ext2_filsys fs EXT2FS_ATTR((unused)),
+ ext2_ino_t ino)
{
if ((ino != stashed_ino) || !stashed_inode)
return EXT2_ET_CALLBACK_NOTHANDLED;
@@ -183,7 +185,8 @@ static errcode_t meta_check_directory(ext2_filsys fs, ext2_ino_t ino)
return 0;
}
-static errcode_t meta_read_inode(ext2_filsys fs, ext2_ino_t ino,
+static errcode_t meta_read_inode(ext2_filsys fs EXT2FS_ATTR((unused)),
+ ext2_ino_t ino,
struct ext2_inode *inode)
{
if ((ino != stashed_ino) || !stashed_inode)
@@ -206,17 +209,23 @@ static void use_inode_shortcuts(ext2_filsys fs, int bool)
}
}
-static int process_dir_block(ext2_filsys fs, blk_t *block_nr,
- e2_blkcnt_t blockcnt, blk_t ref_block,
- int ref_offset, void *priv_data)
+static int process_dir_block(ext2_filsys fs EXT2FS_ATTR((unused)),
+ blk_t *block_nr,
+ e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)),
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
+ void *priv_data EXT2FS_ATTR((unused)))
{
ext2fs_mark_block_bitmap(meta_block_map, *block_nr);
return 0;
}
-static int process_file_block(ext2_filsys fs, blk_t *block_nr,
- e2_blkcnt_t blockcnt, blk_t ref_block,
- int ref_offset, void *priv_data)
+static int process_file_block(ext2_filsys fs EXT2FS_ATTR((unused)),
+ blk_t *block_nr,
+ e2_blkcnt_t blockcnt,
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)),
+ void *priv_data EXT2FS_ATTR((unused)))
{
if (blockcnt < 0) {
ext2fs_mark_block_bitmap(meta_block_map, *block_nr);
@@ -227,7 +236,7 @@ static int process_file_block(ext2_filsys fs, blk_t *block_nr,
static void mark_table_blocks(ext2_filsys fs)
{
blk_t block, b;
- int i,j;
+ unsigned int i,j;
block = fs->super->s_first_data_block;
/*
@@ -249,7 +258,7 @@ static void mark_table_blocks(ext2_filsys fs)
*/
if (fs->group_desc[i].bg_inode_table) {
for (j = 0, b = fs->group_desc[i].bg_inode_table;
- j < fs->inode_blocks_per_group;
+ j < (unsigned) fs->inode_blocks_per_group;
j++, b++)
ext2fs_mark_block_bitmap(meta_block_map, b);
}
@@ -476,7 +485,7 @@ int main (int argc, char ** argv)
if (retval) {
com_err (program_name, retval, _("while trying to open %s"),
device_name);
- printf(_("Couldn't find valid filesystem superblock.\n"));
+ fputs(_("Couldn't find valid filesystem superblock.\n"), stdout);
exit(1);
}
diff --git a/misc/fsck.c b/misc/fsck.c
index 28bd7a2a..bebf5ee3 100644
--- a/misc/fsck.c
+++ b/misc/fsck.c
@@ -353,10 +353,10 @@ static void load_fs_info(const char *filename)
fclose(f);
if (old_fstab) {
- fprintf(stderr, _("\007\007\007"
+ fputs(_("\007\007\007"
"WARNING: Your /etc/fstab does not contain the fsck passno\n"
" field. I will kludge around things for you, but you\n"
- " should fix your /etc/fstab file as soon as you can.\n\n"));
+ " should fix your /etc/fstab file as soon as you can.\n\n"), stderr);
for (fs = filesys_info; fs; fs = fs->next) {
fs->passno = 1;
@@ -729,8 +729,8 @@ static void compile_fs_type(char *fs_type, struct fs_type_compile *cmp)
cmp->list = malloc(num * sizeof(char *));
cmp->type = malloc(num * sizeof(int));
if (!cmp->list || !cmp->type) {
- fprintf(stderr, _("Couldn't allocate memory for "
- "filesystem types\n"));
+ fputs(_("Couldn't allocate memory for filesystem types\n"),
+ stderr);
exit(EXIT_ERROR);
}
memset(cmp->list, 0, num * sizeof(char *));
@@ -766,7 +766,7 @@ static void compile_fs_type(char *fs_type, struct fs_type_compile *cmp)
}
if ((negate && !cmp->negate) ||
(!negate && cmp->negate)) {
- fprintf(stderr, _(fs_type_syntax_error));
+ fputs(_(fs_type_syntax_error), stderr);
exit(EXIT_USAGE);
}
}
@@ -925,7 +925,7 @@ static int check_all(NOARGS)
int pass_done;
if (verbose)
- printf(_("Checking all file systems.\n"));
+ fputs(_("Checking all file systems.\n"), stdout);
/*
* Do an initial scan over the filesystem; mark filesystems
@@ -1031,13 +1031,12 @@ static int check_all(NOARGS)
static void usage(NOARGS)
{
- fprintf(stderr,
- _("Usage: fsck [-ACNPRTV] [-t fstype] [fs-options] [filesys ...]\n"));
+ fputs(_("Usage: fsck [-ACNPRTV] [-t fstype] [fs-options] [filesys ...]\n"), stderr);
exit(EXIT_USAGE);
}
#ifdef HAVE_SIGNAL_H
-static void signal_cancel(int sig)
+static void signal_cancel(int sig FSCK_ATTR((unused)))
{
cancel_requested++;
}
diff --git a/misc/fsck.h b/misc/fsck.h
index 56afcf98..55cb5258 100644
--- a/misc/fsck.h
+++ b/misc/fsck.h
@@ -11,6 +11,13 @@
#define const
#endif
+#ifdef __GNUC__
+#define FSCK_ATTR(x) __attribute__(x)
+#else
+#define FSCK_ATTR(x)
+#endif
+
+
#ifndef DEFAULT_FSTYPE
#define DEFAULT_FSTYPE "ext2"
#endif
diff --git a/misc/lsattr.c b/misc/lsattr.c
index 513b41a4..ff3859ff 100644
--- a/misc/lsattr.c
+++ b/misc/lsattr.c
@@ -45,6 +45,12 @@ extern char *optarg;
#include "../version.h"
#include "nls-enable.h"
+#ifdef __GNUC__
+#define EXT2FS_ATTR(x) __attribute__(x)
+#else
+#define EXT2FS_ATTR(x)
+#endif
+
static const char * program_name = "lsattr";
static int all;
@@ -114,7 +120,8 @@ static void lsattr_args (const char * name)
}
}
-static int lsattr_dir_proc (const char * dir_name, struct dirent * de, void * private)
+static int lsattr_dir_proc (const char * dir_name, struct dirent * de,
+ void * private EXT2FS_ATTR((unused)))
{
STRUCT_STAT st;
char *path;
diff --git a/misc/mke2fs.c b/misc/mke2fs.c
index 96f7b71a..e225d009 100644
--- a/misc/mke2fs.c
+++ b/misc/mke2fs.c
@@ -189,7 +189,7 @@ static void set_fs_defaults(const char *fs_type,
/*
* Helper function for read_bb_file and test_disk
*/
-static void invalid_block(ext2_filsys fs, blk_t blk)
+static void invalid_block(ext2_filsys fs EXT2FS_ATTR((unused)), blk_t blk)
{
fprintf(stderr, _("Bad block %u out of range; ignored.\n"), blk);
return;
@@ -250,8 +250,9 @@ static void test_disk(ext2_filsys fs, badblocks_list *bb_list)
static void handle_bad_blocks(ext2_filsys fs, badblocks_list bb_list)
{
- int i, j;
- int must_be_good;
+ dgrp_t i;
+ blk_t j;
+ unsigned must_be_good;
blk_t blk;
badblocks_iterate bb_iter;
errcode_t retval;
@@ -274,7 +275,7 @@ static void handle_bad_blocks(ext2_filsys fs, badblocks_list bb_list)
fprintf(stderr, _("Blocks %d through %d must be good "
"in order to build a filesystem.\n"),
fs->super->s_first_data_block, must_be_good);
- fprintf(stderr, _("Aborting....\n"));
+ fputs(_("Aborting....\n"), stderr);
exit(1);
}
}
@@ -346,7 +347,7 @@ static void progress_init(struct progress_struct *progress,
sprintf(progress->format, "%%%dd/%%%dld", i, i);
memset(progress->backup, '\b', sizeof(progress->backup)-1);
progress->backup[sizeof(progress->backup)-1] = 0;
- if ((2*i)+1 < sizeof(progress->backup))
+ if ((2*i)+1 < (int) sizeof(progress->backup))
progress->backup[(2*i)+1] = 0;
progress->max = max;
@@ -439,7 +440,8 @@ static void write_inode_tables(ext2_filsys fs)
{
errcode_t retval;
blk_t blk;
- int i, num;
+ dgrp_t i;
+ int num;
struct progress_struct progress;
if (quiet)
@@ -655,7 +657,8 @@ static void show_stats(ext2_filsys fs)
struct ext2_super_block *s = fs->super;
char buf[80];
blk_t group_block;
- int i, need, col_left;
+ dgrp_t i;
+ int need, col_left;
if (param.s_blocks_count != s->s_blocks_count)
fprintf(stderr, _("warning: %d blocks unused.\n\n"),
@@ -664,12 +667,12 @@ static void show_stats(ext2_filsys fs)
memset(buf, 0, sizeof(buf));
strncpy(buf, s->s_volume_name, sizeof(s->s_volume_name));
printf(_("Filesystem label=%s\n"), buf);
- printf(_("OS type: "));
+ fputs(_("OS type: "), stdout);
switch (fs->super->s_creator_os) {
- case EXT2_OS_LINUX: printf ("Linux"); break;
- case EXT2_OS_HURD: printf ("GNU/Hurd"); break;
- case EXT2_OS_MASIX: printf ("Masix"); break;
- default: printf (_("(unknown os)"));
+ case EXT2_OS_LINUX: fputs("Linux", stdout); break;
+ case EXT2_OS_HURD: fputs("GNU/Hurd", stdout); break;
+ case EXT2_OS_MASIX: fputs ("Masix", stdout); break;
+ default: fputs(_("(unknown os)"), stdout);
}
printf("\n");
printf(_("Block size=%u (log=%u)\n"), fs->blocksize,
@@ -1104,7 +1107,7 @@ static void PRS(int argc, char *argv[])
journal_device);
exit(1);
}
- if ((blocksize < 0) && (jfs->blocksize < -blocksize)) {
+ if ((blocksize < 0) && (jfs->blocksize < (unsigned) (-blocksize))) {
com_err(program_name, 0,
_("Journal dev blocksize (%d) smaller than "
"minimum blocksize %d\n"), jfs->blocksize,
@@ -1219,7 +1222,7 @@ static void PRS(int argc, char *argv[])
exit(1);
}
- if (tmp = getenv("MKE2FS_DEVICE_SECTSIZE"))
+ if ((tmp = getenv("MKE2FS_DEVICE_SECTSIZE")) != NULL)
sector_size = atoi(tmp);
set_fs_defaults(fs_type, &param, blocksize, sector_size, &inode_ratio);
@@ -1227,7 +1230,7 @@ static void PRS(int argc, char *argv[])
if (param.s_blocks_per_group) {
if (param.s_blocks_per_group < 256 ||
- param.s_blocks_per_group > 8 * blocksize) {
+ param.s_blocks_per_group > 8 * (unsigned) blocksize) {
com_err(program_name, 0,
_("blocks per group count out of range"));
exit(1);
@@ -1271,7 +1274,8 @@ int main (int argc, char *argv[])
ext2_filsys fs;
badblocks_list bb_list = 0;
int journal_blocks;
- int i, val;
+ unsigned int i;
+ int val;
io_manager io_ptr;
#ifdef ENABLE_NLS
@@ -1391,7 +1395,7 @@ int main (int argc, char *argv[])
fs->flags &= ~(EXT2_FLAG_IB_DIRTY|EXT2_FLAG_BB_DIRTY);
} else {
/* rsv must be a power of two (64kB is MD RAID sb alignment) */
- int rsv = 65536 / fs->blocksize;
+ unsigned int rsv = 65536 / fs->blocksize;
unsigned long blocks = fs->super->s_blocks_count;
unsigned long start;
blk_t ret_blk;
diff --git a/misc/nls-enable.h b/misc/nls-enable.h
index e365fbdd..d6a7db37 100644
--- a/misc/nls-enable.h
+++ b/misc/nls-enable.h
@@ -1,4 +1,5 @@
#ifdef ENABLE_NLS
+#warning Using NLS
#include <libintl.h>
#include <locale.h>
#define _(a) (gettext (a))
diff --git a/misc/tune2fs.c b/misc/tune2fs.c
index f95aed45..d8c8e2ee 100644
--- a/misc/tune2fs.c
+++ b/misc/tune2fs.c
@@ -154,7 +154,7 @@ static void remove_journal_device(ext2_filsys fs)
jsb = (journal_superblock_t *) buf;
if ((jsb->s_header.h_magic != (unsigned) ntohl(JFS_MAGIC_NUMBER)) ||
(jsb->s_header.h_blocktype != (unsigned) ntohl(JFS_SUPERBLOCK_V2))) {
- fprintf(stderr, _("Journal superblock not found!\n"));
+ fputs(_("Journal superblock not found!\n"), stderr);
goto no_valid_journal;
}
@@ -166,8 +166,8 @@ static void remove_journal_device(ext2_filsys fs)
break;
}
if (i >= nr_users) {
- fprintf(stderr,
- _("Filesystem's UUID not found on journal device.\n"));
+ fputs(_("Filesystem's UUID not found on journal device.\n"),
+ stderr);
commit_remove_journal = 1;
goto no_valid_journal;
}
@@ -187,19 +187,20 @@ static void remove_journal_device(ext2_filsys fs)
no_valid_journal:
if (commit_remove_journal == 0) {
- fprintf(stderr, _("Journal NOT removed\n"));
+ fputs(_("Journal NOT removed\n"), stderr);
exit(1);
}
fs->super->s_journal_dev = 0;
uuid_clear(fs->super->s_journal_uuid);
ext2fs_mark_super_dirty(fs);
- printf(_("Journal removed\n"));
+ fputs(_("Journal removed\n"), stdout);
free(journal_path);
}
/* Helper function for remove_journal_inode */
static int release_blocks_proc(ext2_filsys fs, blk_t *blocknr,
- int blockcnt, void *private)
+ int blockcnt EXT2FS_ATTR((unused)),
+ void *private EXT2FS_ATTR((unused)))
{
blk_t block;
int group;
@@ -305,19 +306,17 @@ static void update_feature_set(ext2_filsys fs, char *features)
if (old_journal && !journal) {
if ((mount_flags & EXT2_MF_MOUNTED) &&
!(mount_flags & EXT2_MF_READONLY)) {
- fprintf(stderr,
- _("The has_journal flag may only be "
- "cleared when the filesystem is\n"
- "unmounted or mounted "
- "read-only.\n"));
+ fputs(_("The has_journal flag may only be "
+ "cleared when the filesystem is\n"
+ "unmounted or mounted "
+ "read-only.\n"), stderr);
exit(1);
}
if (sb->s_feature_incompat &
EXT3_FEATURE_INCOMPAT_RECOVER) {
- fprintf(stderr,
- _("The needs_recovery flag is set. "
- "Please run e2fsck before clearing\n"
- "the has_journal flag.\n"));
+ fputs(_("The needs_recovery flag is set. "
+ "Please run e2fsck before clearing\n"
+ "the has_journal flag.\n"), stderr);
exit(1);
}
if (sb->s_journal_inum) {
@@ -369,7 +368,7 @@ static void add_journal(ext2_filsys fs)
if (fs->super->s_feature_compat &
EXT3_FEATURE_COMPAT_HAS_JOURNAL) {
- fprintf(stderr, _("The filesystem already has a journal.\n"));
+ fputs(_("The filesystem already has a journal.\n"), stderr);
goto err;
}
if (journal_device) {
@@ -402,9 +401,9 @@ static void add_journal(ext2_filsys fs)
journal_device);
goto err;
}
- printf(_("done\n"));
+ fputs(_("done\n"), stdout);
} else if (journal_size) {
- printf(_("Creating journal inode: "));
+ fputs(_("Creating journal inode: "), stdout);
fflush(stdout);
journal_blocks = figure_journal_size(journal_size, fs);
@@ -416,7 +415,7 @@ static void add_journal(ext2_filsys fs)
_("\n\twhile trying to create journal file"));
exit(1);
} else
- printf(_("done\n"));
+ fputs(_("done\n"), stdout);
/*
* If the filesystem wasn't mounted, we need to force
* the block group descriptors out.
@@ -437,7 +436,7 @@ err:
static void parse_e2label_options(int argc, char ** argv)
{
if ((argc < 2) || (argc > 3)) {
- fprintf(stderr, _("Usage: e2label device [newlabel]\n"));
+ fputs(_("Usage: e2label device [newlabel]\n"), stderr);
exit(1);
}
device_name = blkid_get_devname(NULL, argv[1], NULL);
@@ -814,7 +813,7 @@ int main (int argc, char ** argv)
if (r_flag) {
if (reserved_blocks >= sb->s_blocks_count) {
com_err (program_name, 0,
- _("reserved blocks count is too big (%ul)"),
+ _("reserved blocks count is too big (%lu)"),
reserved_blocks);
exit (1);
}
@@ -826,8 +825,8 @@ int main (int argc, char ** argv)
if (s_flag == 1) {
if (sb->s_feature_ro_compat &
EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER)
- fprintf(stderr, _("\nThe filesystem already"
- " has sparse superblocks.\n"));
+ fputs(_("\nThe filesystem already has sparse "
+ "superblocks.\n"), stderr);
else {
sb->s_feature_ro_compat |=
EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER;
@@ -840,8 +839,8 @@ int main (int argc, char ** argv)
if (s_flag == 0) {
if (!(sb->s_feature_ro_compat &
EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER))
- fprintf(stderr, _("\nThe filesystem already"
- " has sparse superblocks disabled.\n"));
+ fputs(_("\nThe filesystem already has sparse "
+ "superblocks disabled.\n"), stderr);
else {
sb->s_feature_ro_compat &=
~EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER;
@@ -865,8 +864,8 @@ int main (int argc, char ** argv)
}
if (L_flag) {
if (strlen(new_label) > sizeof(sb->s_volume_name))
- fprintf(stderr, _("Warning: label too "
- "long, truncating.\n"));
+ fputs(_("Warning: label too long, truncating.\n"),
+ stderr);
memset(sb->s_volume_name, 0, sizeof(sb->s_volume_name));
strncpy(sb->s_volume_name, new_label,
sizeof(sb->s_volume_name));
diff --git a/misc/util.c b/misc/util.c
index 76392ff4..b5e6f94b 100644
--- a/misc/util.c
+++ b/misc/util.c
@@ -69,7 +69,7 @@ void proceed_question(void)
fflush(stdout);
fflush(stderr);
- printf(_("Proceed anyway? (y,n) "));
+ fputs(_("Proceed anyway? (y,n) "), stdout);
buf[0] = 0;
fgets(buf, sizeof(buf), stdin);
if (strchr(short_yes, buf[0]) == 0)
@@ -93,8 +93,8 @@ void check_plausibility(const char *device)
fprintf(stderr, _("Could not stat %s --- %s\n"),
device, error_message(errno));
if (errno == ENOENT)
- fprintf(stderr, _("\nThe device apparently does "
- "not exist; did you specify it correctly?\n"));
+ fputs(_("\nThe device apparently does not exist; "
+ "did you specify it correctly?\n"), stderr);
exit(1);
}
if (!S_ISBLK(s.st_mode)) {
@@ -151,8 +151,8 @@ void check_mount(const char *device, int force, const char *type)
fprintf(stderr, _("%s is mounted; "), device);
if (force) {
- fprintf(stderr, _("mke2fs forced anyway. "
- "Hope /etc/mtab is incorrect.\n"));
+ fputs(_("mke2fs forced anyway. Hope /etc/mtab is "
+ "incorrect.\n"), stderr);
} else {
fprintf(stderr, _("will not make a %s here!\n"), type);
exit(1);
@@ -168,8 +168,8 @@ void parse_journal_opts(const char *opts)
len = strlen(opts);
buf = malloc(len+1);
if (!buf) {
- fprintf(stderr, _("Couldn't allocate memory to parse "
- "journal options!\n"));
+ fputs(_("Couldn't allocate memory to parse journal "
+ "options!\n"), stderr);
exit(1);
}
strcpy(buf, opts);
@@ -210,7 +210,7 @@ void parse_journal_opts(const char *opts)
journal_usage++;
}
if (journal_usage) {
- fprintf(stderr, _("\nBad journal options specified.\n\n"
+ fputs(_("\nBad journal options specified.\n\n"
"Journal options are separated by commas, "
"and may take an argument which\n"
"\tis set off by an equals ('=') sign.\n\n"
@@ -218,7 +218,7 @@ void parse_journal_opts(const char *opts)
"\tsize=<journal size in megabytes>\n"
"\tdevice=<journal device>\n\n"
"The journal size must be between "
- "1024 and 102400 filesystem blocks.\n\n" ));
+ "1024 and 102400 filesystem blocks.\n\n"), stderr);
exit(1);
}
}
@@ -237,7 +237,7 @@ int figure_journal_size(int size, ext2_filsys fs)
blk_t j_blocks;
if (fs->super->s_blocks_count < 2048) {
- fprintf(stderr, _("\nFilesystem too small for a journal\n"));
+ fputs(_("\nFilesystem too small for a journal\n"), stderr);
return 0;
}
@@ -252,8 +252,8 @@ int figure_journal_size(int size, ext2_filsys fs)
exit(1);
}
if (j_blocks > fs->super->s_free_blocks_count) {
- fprintf(stderr, _("\nJournal size too big "
- "for filesystem.\n"));
+ fputs(_("\nJournal size too big for filesystem.\n"),
+ stderr);
exit(1);
}
return j_blocks;
diff --git a/resize/ChangeLog b/resize/ChangeLog
index 85809ccc..ce986035 100644
--- a/resize/ChangeLog
+++ b/resize/ChangeLog
@@ -1,3 +1,7 @@
+2003-12-07 Theodore Ts'o <tytso@mit.edu>
+
+ * main.c, resize2fs.c: Fix gcc -Wall nitpicks.
+
2003-08-24 Theodore Ts'o <tytso@mit.edu>
* resize2fs.8.in: Adjust description line so that apropos
diff --git a/resize/main.c b/resize/main.c
index 649105aa..b32a7ea8 100644
--- a/resize/main.c
+++ b/resize/main.c
@@ -138,7 +138,7 @@ int main (int argc, char ** argv)
io_manager io_ptr;
char *tmp;
struct stat st_buf;
- int sys_page_size = 4096;
+ unsigned int sys_page_size = 4096;
long sysval;
#ifdef ENABLE_NLS
@@ -265,9 +265,9 @@ int main (int argc, char ** argv)
exit(1);
}
if (units) {
- if (units < fs->blocksize)
+ if ((unsigned) units < fs->blocksize)
new_size = (new_size * units) / fs->blocksize;
- else if (units > fs->blocksize)
+ else if ((unsigned) units > fs->blocksize)
new_size = new_size * (units / fs->blocksize);
}
if (!new_size) {
diff --git a/resize/resize2fs.c b/resize/resize2fs.c
index c7970d0e..5aaf8f56 100644
--- a/resize/resize2fs.c
+++ b/resize/resize2fs.c
@@ -176,9 +176,10 @@ static errcode_t adjust_superblock(ext2_resize_t rfs, blk_t new_size)
errcode_t retval;
ext2_ino_t real_end;
blk_t blk, group_block;
- unsigned long i, j;
+ unsigned long i, j, old_desc_blocks;
int old_numblocks, numblocks, adjblocks;
- int has_super, meta_bg, meta_bg_size, old_desc_blocks;
+ unsigned int meta_bg, meta_bg_size;
+ int has_super;
unsigned long max_group;
fs = rfs->new_fs;
@@ -446,8 +447,11 @@ static errcode_t mark_table_blocks(ext2_filsys fs,
ext2fs_block_bitmap *ret_bmap)
{
blk_t block, b;
- int i,j, has_super, meta_bg, meta_bg_size;
- int old_desc_blocks;
+ unsigned int j;
+ dgrp_t i;
+ unsigned long meta_bg, meta_bg_size;
+ int has_super;
+ unsigned int old_desc_blocks;
ext2fs_block_bitmap bmap;
errcode_t retval;
@@ -497,7 +501,7 @@ static errcode_t mark_table_blocks(ext2_filsys fs,
* Mark the blocks used for the inode table
*/
for (j = 0, b = fs->group_desc[i].bg_inode_table;
- j < fs->inode_blocks_per_group;
+ j < (unsigned int) fs->inode_blocks_per_group;
j++, b++)
ext2fs_mark_block_bitmap(bmap, b);
@@ -560,9 +564,11 @@ static void mark_fs_metablock(ext2_resize_t rfs,
*/
static errcode_t blocks_to_move(ext2_resize_t rfs)
{
- int i, j, max_groups, has_super, meta_bg, meta_bg_size;
- blk_t blk, group_blk;
- unsigned long old_blocks, new_blocks;
+ int j, has_super;
+ dgrp_t i, max_groups;
+ blk_t blk, group_blk;
+ unsigned long old_blocks, new_blocks;
+ unsigned int meta_bg, meta_bg_size;
errcode_t retval;
ext2_filsys fs, old_fs;
ext2fs_block_bitmap meta_bmap;
@@ -969,8 +975,9 @@ struct process_block_struct {
};
static int process_block(ext2_filsys fs, blk_t *block_nr,
- e2_blkcnt_t blockcnt, blk_t ref_block,
- int ref_offset, void *priv_data)
+ e2_blkcnt_t blockcnt,
+ blk_t ref_block EXT2FS_ATTR((unused)),
+ int ref_offset EXT2FS_ATTR((unused)), void *priv_data)
{
struct process_block_struct *pb;
errcode_t retval;
@@ -1007,7 +1014,8 @@ static int process_block(ext2_filsys fs, blk_t *block_nr,
/*
* Progress callback
*/
-static errcode_t progress_callback(ext2_filsys fs, ext2_inode_scan scan,
+static errcode_t progress_callback(ext2_filsys fs,
+ ext2_inode_scan scan EXT2FS_ATTR((unused)),
dgrp_t group, void * priv_data)
{
ext2_resize_t rfs = (ext2_resize_t) priv_data;
@@ -1192,9 +1200,12 @@ struct istruct {
int num;
};
-static int check_and_change_inodes(ext2_ino_t dir, int entry,
+static int check_and_change_inodes(ext2_ino_t dir,
+ int entry EXT2FS_ATTR((unused)),
struct ext2_dir_entry *dirent, int offset,
- int blocksize, char *buf, void *priv_data)
+ int blocksize EXT2FS_ATTR((unused)),
+ char *buf EXT2FS_ATTR((unused)),
+ void *priv_data)
{
struct istruct *is = (struct istruct *) priv_data;
struct ext2_inode inode;
@@ -1299,7 +1310,8 @@ errout:
*/
static errcode_t move_itables(ext2_resize_t rfs)
{
- int i, n, num, max_groups, size, diff;
+ int n, num, size, diff;
+ dgrp_t i, max_groups;
ext2_filsys fs = rfs->new_fs;
char *cp;
blk_t old_blk, new_blk;
@@ -1421,8 +1433,8 @@ static errcode_t ext2fs_calculate_summary_stats(ext2_filsys fs)
{
blk_t blk;
ext2_ino_t ino;
- int group = 0;
- int count = 0;
+ unsigned int group = 0;
+ unsigned int count = 0;
int total_free = 0;
int group_free = 0;
diff --git a/util/ChangeLog b/util/ChangeLog
index 2a21183d..1501bda9 100644
--- a/util/ChangeLog
+++ b/util/ChangeLog
@@ -1,3 +1,10 @@
+2003-12-07 Theodore Ts'o <tytso@mit.edu>
+
+ * subst.c: Fix gcc -Wall nitpicks.
+
+ * gcc-wall-cleanup: Remove missing initalizer, zero-length format
+ string, and some more long long warnings.
+
2003-07-25 Theodore Ts'o <tytso@mit.edu>
* Release of E2fsprogs 1.34
diff --git a/util/gcc-wall-cleanup b/util/gcc-wall-cleanup
index 4d817b1e..6148e461 100644
--- a/util/gcc-wall-cleanup
+++ b/util/gcc-wall-cleanup
@@ -6,12 +6,17 @@
/^kcc /d
/^gcc /d
/does not support `long long'/d
+/forbids long long integer constants/d
/does not support the `ll' length modifier/d
+/does not support the `ll' printf length modifier/d
/ANSI C forbids long long integer constants/d
/traditional C rejects string concatenation/d
/integer constant is unsigned in ANSI C, signed with -traditional/d
/At top level:/d
/In file included from/d
/In function `.*':/d
+/zero-length format string/d
+/warning: missing initializer/d
+/warning: (near initialization for/d
/^[ ]*from/d
diff --git a/util/subst.c b/util/subst.c
index 7b7ba838..dff1848b 100644
--- a/util/subst.c
+++ b/util/subst.c
@@ -74,7 +74,7 @@ static struct subst_entry *fetch_subst_entry(char *name)
* Given the starting and ending position of the replacement name,
* check to see if it is valid, and pull it out if it is.
*/
-static char *get_subst_symbol(const char *begin, int len, char prefix)
+static char *get_subst_symbol(const char *begin, size_t len, char prefix)
{
static char replace_name[128];
char *cp, *start;
@@ -121,7 +121,7 @@ static void substitute_line(char *line)
char *ptr, *name_ptr, *end_ptr;
struct subst_entry *ent;
char *replace_name;
- int len;
+ size_t len;
/*
* Expand all @FOO@ substitutions