From e028208e53fb94c7c6c2873a116f680e234784ec Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Fri, 22 Nov 2019 12:48:35 -0800 Subject: Fix dev_minor()/dev_major()/dev_makedev() for Mac. Major/minor device encoding is not portable. No two BSDs agree with each other, and Darwin is different again. Everyone does agree on having major()/minor()/makedev() macros, but they disagree whether they should be in (the BSDs including Darwin, and old versions of glibc) or (glibc >= 2.26 and bionic). This fixes `ls -l /dev/zero` and `stat /dev/zero` on Mac. --- lib/lib.c | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'lib/lib.c') diff --git a/lib/lib.c b/lib/lib.c index 3bfee2ef..2250caf4 100644 --- a/lib/lib.c +++ b/lib/lib.c @@ -1213,21 +1213,6 @@ char *next_printf(char *s, char **start) return 0; } -int dev_minor(int dev) -{ - return ((dev&0xfff00000)>>12)|(dev&0xff); -} - -int dev_major(int dev) -{ - return (dev&0xfff00)>>8; -} - -int dev_makedev(int major, int minor) -{ - return (minor&0xff)|((major&0xfff)<<8)|((minor&0xfff00)<<12); -} - // Return cached passwd entries. struct passwd *bufgetpwuid(uid_t uid) { -- cgit v1.2.3