From: Theodore Ts'o Date: Mon, 21 Jan 2008 14:45:25 +0000 (-0500) Subject: Define helper functions ext2fs_set_i_{u,g}id_high() for MacOS compatibility X-Git-Tag: v1.40.5~17 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=153439222e6a16e40be324408d8d19361bc1e65e;p=tools%2Fe2fsprogs.git Define helper functions ext2fs_set_i_{u,g}id_high() for MacOS compatibility This is needed for all non-Linux/Hurd/Masix systems... Addresses-Sourceforge-Bug: #1863819 Signed-off-by: "Theodore Ts'o" --- diff --git a/lib/ext2fs/ext2_fs.h b/lib/ext2fs/ext2_fs.h index 7e58219..e096577 100644 --- a/lib/ext2fs/ext2_fs.h +++ b/lib/ext2fs/ext2_fs.h @@ -452,9 +452,14 @@ struct ext2_inode_large { #if defined(__masix__) #define inode_uid(inode) ((inode).i_uid) #define inode_gid(inode) ((inode).i_gid) +#define ext2fs_set_i_uid_high(inode,x) (x) +#define ext2fs_set_i_gid_high(inode,x) (x) + #else #define inode_uid(inode) ((inode).i_uid | (inode).osd2.linux2.l_i_uid_high << 16) #define inode_gid(inode) ((inode).i_gid | (inode).osd2.linux2.l_i_gid_high << 16) +#define ext2fs_set_i_uid_high(inode,x) ((inode).osd2.linux2.l_i_uid_high = (x)) +#define ext2fs_set_i_gid_high(inode,x) ((inode).osd2.linux2.l_i_gid_high = (x)) #endif /* diff --git a/misc/mke2fs.c b/misc/mke2fs.c index 3795790..7a360ea 100644 --- a/misc/mke2fs.c +++ b/misc/mke2fs.c @@ -495,11 +495,11 @@ static void create_root_dir(ext2_filsys fs) } uid = getuid(); inode.i_uid = uid; - inode.i_uid_high = uid >> 16; + ext2fs_set_i_uid_high(inode, uid >> 16); if (uid) { gid = getgid(); inode.i_gid = gid; - inode.i_gid_high = gid >> 16; + ext2fs_set_i_gid_high(inode, gid >> 16); } retval = ext2fs_write_new_inode(fs, EXT2_ROOT_INO, &inode); if (retval) {