+2008-07-27 Bean <bean123ch@gmail.com>
+
+ * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
+ smallino, as it's more descriptive, and i8count can be confused with
+ the other field count.
+ (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
+ inode type.
+
2008-07-27 Bean <bean123ch@gmail.com>
* commands/crc.c: New file.
struct grub_xfs_dir_header
{
grub_uint8_t count;
- grub_uint8_t i8count;
+ grub_uint8_t smallino;
union
{
grub_uint32_t i4;
case XFS_INODE_FORMAT_INO:
{
struct grub_xfs_dir_entry *de = &diro->inode.data.dir.direntry[0];
- int smallino = !diro->inode.data.dir.dirhead.i8count;
+ int smallino = !diro->inode.data.dir.dirhead.smallino;
int i;
grub_uint64_t parent;
{
parent = grub_be_to_cpu32 (diro->inode.data.dir.dirhead.parent.i4);
parent = grub_cpu_to_be64 (parent);
+ /* The header is a bit smaller than usual. */
+ de = (struct grub_xfs_dir_entry *) ((char *) de - 4);
}
else
{
parent = diro->inode.data.dir.dirhead.parent.i8;
- /* The header is a bit bigger than usual. */
- de = (struct grub_xfs_dir_entry *) ((char *) de + 4);
}
/* Synthesize the direntries for `.' and `..'. */