From d6682a9bab19ad96d17fdabacb4953f919e1b426 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Tue, 31 Oct 1995 18:23:00 +0000 Subject: (diskfs_S_file_set_translator): Add missing else. Use makedev macro instead of doing it by hand. (makedev): New macro -- temporarily here until libc exports one. --- libdiskfs/file-set-trans.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'libdiskfs') diff --git a/libdiskfs/file-set-trans.c b/libdiskfs/file-set-trans.c index 12e3e3b1..fc2b5e7b 100644 --- a/libdiskfs/file-set-trans.c +++ b/libdiskfs/file-set-trans.c @@ -20,6 +20,9 @@ #include #include +/* XXX - Temporary */ +#define makedev(maj,min) ((((maj)&0xFF)<<8)+((min)&0xFF)) + /* Implement file_set_translator as described in . */ kern_return_t diskfs_S_file_set_translator (struct protid *cred, @@ -105,7 +108,7 @@ diskfs_S_file_set_translator (struct protid *cred, if (diskfs_shortcut_symlink && !strcmp (passive, _HURD_SYMLINK)) newmode = S_IFLNK; - if (diskfs_shortcut_chrdev && !(strcmp (passive, _HURD_CHRDEV))) + else if (diskfs_shortcut_chrdev && !(strcmp (passive, _HURD_CHRDEV))) newmode = S_IFCHR; else if (diskfs_shortcut_blkdev && !strcmp (passive, _HURD_BLKDEV)) newmode = S_IFBLK; @@ -150,8 +153,7 @@ diskfs_S_file_set_translator (struct protid *cred, } minor = strtol (arg, 0, 0); - np->dn_stat.st_rdev = (((major & 0377) << 8) - | (minor & 0377)); + np->dn_stat.st_rdev = makedev (major, minor); } diskfs_truncate (np, 0); -- cgit v1.2.3