1
diff -aur a/second/fs/ufs.c b/second/fs/ufs.c
2
--- a/second/fs/ufs.c 2006-06-01 10:24:53.000000000 -0700
3
+++ b/second/fs/ufs.c 2006-10-16 20:11:00.000000000 -0700
9
-/* Apparently new header */
11
#define ufsi_size(x) ((unsigned int)((x)->ui_size))
12
#define ufsi_db(x) ((unsigned int *)((x)->ui_u2.ui_addr.ui_db))
13
#define ufsi_ib(x) ((unsigned int *)((x)->ui_u2.ui_addr.ui_ib))
14
#define ufsd_namlen(x) ((unsigned char)((x)->d_u.d_44.d_namlen))
17
-/* Apparently even newer header */
18
-#define ufs_superblock ufs_super_block
19
+struct ufs_superblock_full {
20
+ struct ufs_super_block_first first;
21
+ struct ufs_super_block_second second;
22
+ struct ufs_super_block_third third;
24
+#define ufs_superblock ufs_super_block_first
25
#define ufs_direct ufs_dir_entry
30
-#define ufsi_size(x) (((x)->ui_size.val[1]))
31
-#define ufsi_db(x) ((unsigned int *)((x)->ui_db))
32
-#define ufsi_ib(x) ((unsigned int *)((x)->ui_ib))
33
-#define ufsd_namlen(x) ((unsigned char)((x)->d_namlen))
43
-static struct ufs_superblock *ufs_read_super(ufs_filsys fs)
44
+static struct ufs_superblock_full *ufs_read_super(ufs_filsys fs)
46
- struct ufs_superblock *usb;
47
+ struct ufs_superblock_full *usb;
49
- usb = (struct ufs_superblock *) malloc (2048);
50
+ usb = (struct ufs_superblock_full *) malloc (2048);
52
if (io_channel_read_blk (fs->io, UFS_SBLOCK/1024, -2048, (char *)usb))
54
- if (usb->fs_magic != UFS_MAGIC) {
55
- /* XXX - replace hard-coded constant with a byte-swap macro */
56
- if (usb->fs_magic == 0x54190100) {
58
+ if (usb->third.fs_magic != UFS_MAGIC) {
61
- if (usb->fs_bsize != UFS_BSIZE)
62
+ if (usb->first.fs_bsize != UFS_BSIZE)
64
- if (usb->fs_fsize != UFS_FSIZE)
65
+ if (usb->first.fs_fsize != UFS_FSIZE)
67
- io_channel_set_blksize (fs->io, usb->fs_fsize);
68
+ io_channel_set_blksize (fs->io, usb->first.fs_fsize);