- printf (opt_hex ? _("Group %lu: (Blocks %04x -- %04x)\n"):
- _("Group %lu: (Blocks %u -- %u)\n"), i,
- group_blk, next_blk -1 );
- if (ext2fs_bg_has_super (fs, i))
- printf (opt_hex ? _(" %s Superblock at 0x%04x,"
- " Group Descriptors at 0x%04x-0x%04x\n"):
- _(" %s Superblock at %u,"
- " Group Descriptors at %u-%u\n"),
- i == 0 ? _("Primary") : _("Backup"),
- group_blk, group_blk + 1,
- group_blk + group_desc_blocks);
- printf (opt_hex ? _(" Block bitmap at %04x (+%d), "
- "Inode bitmap at %04x (+%d)\n "
- "Inode table at %04x-%04x (+%d)\n"):
- _(" Block bitmap at %u (+%d), "
- "Inode bitmap at %u (+%d)\n "
- "Inode table at %u (+%d)\n"),
- fs->group_desc[i].bg_block_bitmap,
- fs->group_desc[i].bg_block_bitmap - group_blk,
- fs->group_desc[i].bg_inode_bitmap,
- fs->group_desc[i].bg_inode_bitmap - group_blk,
- fs->group_desc[i].bg_inode_table,
- fs->group_desc[i].bg_inode_table +
- inode_blocks_per_group,
- fs->group_desc[i].bg_inode_table - group_blk);
- printf (_(" %d free blocks, %d free inodes, %d directories\n"),
+ printf (_("Group %lu: (Blocks "), i);
+ printf(range_format, group_blk, next_blk - 1);
+ fputs(")\n", stdout);
+ if (ext2fs_bg_has_super (fs, i)) {
+ printf (_(" %s Superblock at "),
+ i == 0 ? _("Primary") : _("Backup"));
+ printf(num_format, group_blk);
+ printf(_(", Group Descriptors at "));
+ printf(range_format, group_blk+1,
+ group_blk + group_desc_blocks);
+ fputc('\n', stdout);
+ }
+ fputs(_(" Block bitmap at "), stdout);
+ printf(num_format, 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);
+ diff = fs->group_desc[i].bg_inode_bitmap - group_blk;
+ if (diff >= 0)
+ printf(" (+%ld)", diff);
+ fputs(_("\n Inode table at "), stdout);
+ printf(range_format, fs->group_desc[i].bg_inode_table,
+ fs->group_desc[i].bg_inode_table +
+ inode_blocks_per_group - 1);
+ diff = fs->group_desc[i].bg_inode_table - group_blk;
+ if (diff > 0)
+ printf(" (+%ld)", diff);
+ printf (_("\n %d free blocks, %d free inodes, "
+ "%d directories\n Free blocks: "),