blob: f737780a0f53ee46b69f8115692d60c763199305 [file] [log] [blame]
diff -ur busybox-1.17.3-akaros-base/include/libbb.h busybox-1.17.3-akaros/include/libbb.h
--- busybox-1.17.3-akaros-base/include/libbb.h 2015-11-03 16:05:17.610100657 -0500
+++ busybox-1.17.3-akaros/include/libbb.h 2015-11-03 16:10:35.950717057 -0500
@@ -1265,8 +1265,20 @@
#ifdef __GLIBC__
/* At least glibc has horrendously large inline for this, so wrap it */
unsigned long long bb_makedev(unsigned int major, unsigned int minor) FAST_FUNC;
+unsigned int bb_major(unsigned long long dev) FAST_FUNC;
+unsigned int bb_minor(unsigned long long dev) FAST_FUNC;
+#ifdef makedev
#undef makedev
+#endif
#define makedev(a,b) bb_makedev(a,b)
+#ifdef major
+#undef major
+#endif
+#define major(a) bb_major(a)
+#ifdef minor
+#undef minor
+#endif
+#define minor(a) bb_minor(a)
#endif
diff -ur busybox-1.17.3-akaros-base/libbb/makedev.c busybox-1.17.3-akaros/libbb/makedev.c
--- busybox-1.17.3-akaros-base/libbb/makedev.c 2015-11-03 16:05:17.522098264 -0500
+++ busybox-1.17.3-akaros/libbb/makedev.c 2015-11-03 16:12:53.898427762 -0500
@@ -19,6 +19,18 @@
unsigned long long FAST_FUNC bb_makedev(unsigned int major, unsigned int minor);
unsigned long long FAST_FUNC bb_makedev(unsigned int major, unsigned int minor)
{
- return makedev(major, minor);
+ return ((major << 16) | minor);
+}
+
+unsigned int FAST_FUNC bb_major(unsigned long long dev);
+unsigned int FAST_FUNC bb_major(unsigned long long dev)
+{
+ return ((dev >> 16) & 0xFFFF);
+}
+
+unsigned int FAST_FUNC bb_minor(unsigned long long dev);
+unsigned int FAST_FUNC bb_minor(unsigned long long dev)
+{
+ return (dev & 0xFFFF);
}
#endif