X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=debugfs%2Fhtree.c;h=83f558c4ceb1cf3c0ad00b9ffe2d32eb1e87df0d;hb=df0b907ec1625b058814f42119c9a736f2c34c96;hp=4f0118dad09c7a7251ff7074b527398808dfe196;hpb=70f4632b626e3db94dd02c9dc9b4e643ffb0d048;p=tools%2Fe2fsprogs.git diff --git a/debugfs/htree.c b/debugfs/htree.c index 4f0118d..83f558c 100644 --- a/debugfs/htree.c +++ b/debugfs/htree.c @@ -83,7 +83,7 @@ static void htree_dump_leaf_node(ext2_filsys fs, ext2_ino_t ino, if (((offset + rec_len) > fs->blocksize) || (rec_len < 8) || ((rec_len % 4) != 0) || - (thislen + 8 > rec_len)) { + ((unsigned) thislen + 8 > rec_len)) { fprintf(pager, "Corrupted directory block (%llu)!\n", blk); break; @@ -138,21 +138,20 @@ static void htree_dump_int_node(ext2_filsys fs, ext2_ino_t ino, struct ext2_dx_entry *ent, char *buf, int level) { - struct ext2_dx_countlimit limit; - struct ext2_dx_entry e; + struct ext2_dx_countlimit dx_countlimit; struct ext2_dx_tail *tail; int hash, i; + int limit, count; int remainder; - limit = *((struct ext2_dx_countlimit *) ent); - limit.count = ext2fs_le16_to_cpu(limit.count); - limit.limit = ext2fs_le16_to_cpu(limit.limit); + dx_countlimit = *((struct ext2_dx_countlimit *) ent); + count = ext2fs_le16_to_cpu(dx_countlimit.count); + limit = ext2fs_le16_to_cpu(dx_countlimit.limit); - fprintf(pager, "Number of entries (count): %d\n", limit.count); - fprintf(pager, "Number of entries (limit): %d\n", limit.limit); + fprintf(pager, "Number of entries (count): %d\n", count); + fprintf(pager, "Number of entries (limit): %d\n", limit); - remainder = fs->blocksize - (limit.limit * - sizeof(struct ext2_dx_entry)); + remainder = fs->blocksize - (limit * sizeof(struct ext2_dx_entry)); if (ent == (struct ext2_dx_entry *)(rootnode + 1)) remainder -= sizeof(struct ext2_dx_root_info) + 24; else @@ -160,12 +159,12 @@ static void htree_dump_int_node(ext2_filsys fs, ext2_ino_t ino, if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super, EXT4_FEATURE_RO_COMPAT_METADATA_CSUM) && remainder == sizeof(struct ext2_dx_tail)) { - tail = (struct ext2_dx_tail *)(ent + limit.limit); + tail = (struct ext2_dx_tail *)(ent + limit); fprintf(pager, "Checksum: 0x%08x\n", ext2fs_le32_to_cpu(tail->dt_checksum)); } - for (i=0; i < limit.count; i++) { + for (i=0; i < count; i++) { hash = i ? ext2fs_le32_to_cpu(ent[i].hash) : 0; fprintf(pager, "Entry #%d: Hash 0x%08x%s, block %u\n", i, hash, (hash & 1) ? " (**)" : "", @@ -174,17 +173,19 @@ static void htree_dump_int_node(ext2_filsys fs, ext2_ino_t ino, fprintf(pager, "\n"); - for (i=0; i < limit.count; i++) { - e.hash = ext2fs_le32_to_cpu(ent[i].hash); - e.block = ext2fs_le32_to_cpu(ent[i].block); + for (i=0; i < count; i++) { + unsigned int hashval, block; + + hashval = ext2fs_le32_to_cpu(ent[i].hash); + block = ext2fs_le32_to_cpu(ent[i].block); fprintf(pager, "Entry #%d: Hash 0x%08x, block %u\n", i, - i ? e.hash : 0, e.block); + i ? hashval : 0, block); if (level) htree_dump_int_block(fs, ino, inode, rootnode, - e.block, buf, level-1); + block, buf, level-1); else htree_dump_leaf_node(fs, ino, inode, rootnode, - e.block, buf); + block, buf); } fprintf(pager, "---------------------\n");