From 7b1f23610f4e9ba08b1f12e25fb1301b321bf584 Mon Sep 17 00:00:00 2001
From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Date: Sun, 21 Jan 2007 11:20:01 +0000
Subject: - use makedev to get device number, else it gives wrong major/minor
 numbers to devices files on systems which use big device numbers.   Closes
 #919

---
 miscutils/makedevs.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/miscutils/makedevs.c b/miscutils/makedevs.c
index c25bdadc4..5602c2248 100644
--- a/miscutils/makedevs.c
+++ b/miscutils/makedevs.c
@@ -185,7 +185,7 @@ int makedevs_main(int argc, char **argv)
 				full_name_inc = xmalloc(strlen(full_name) + 4);
 				for (i = start; i < count; i++) {
 					sprintf(full_name_inc, "%s%d", full_name, i);
-					rdev = (major << 8) + minor + (i * increment - start);
+					rdev = makedev(major, minor + (i * increment - start));
 					if (mknod(full_name_inc, mode, rdev) == -1) {
 						bb_perror_msg("line %d: cannot create node %s", linenum, full_name_inc);
 						ret = EXIT_FAILURE;
@@ -201,7 +201,7 @@ int makedevs_main(int argc, char **argv)
 				}
 				free(full_name_inc);
 			} else {
-				rdev = (major << 8) + minor;
+				rdev = makedev(major, minor);
 				if (mknod(full_name, mode, rdev) == -1) {
 					bb_perror_msg("line %d: cannot create node %s", linenum, full_name);
 					ret = EXIT_FAILURE;
-- 
cgit v1.2.3