diff options
author | Elliott Hughes <enh@google.com> | 2019-11-22 12:48:35 -0800 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2019-11-23 09:57:24 -0600 |
commit | e028208e53fb94c7c6c2873a116f680e234784ec (patch) | |
tree | 98ef0fe2cbcf392fe28847f9596aa8f6a41592a1 /lib/lib.c | |
parent | 41dd4878451806ff3b27b9739fc77c0d34037883 (diff) | |
download | toybox-e028208e53fb94c7c6c2873a116f680e234784ec.tar.gz |
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 <sys/types.h> (the BSDs
including Darwin, and old versions of glibc) or <sys/sysmacros.h>
(glibc >= 2.26 and bionic).
This fixes `ls -l /dev/zero` and `stat /dev/zero` on Mac.
Diffstat (limited to 'lib/lib.c')
-rw-r--r-- | lib/lib.c | 15 |
1 files changed, 0 insertions, 15 deletions
@@ -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) { |