Walt Wimer noticed that mknod couldn't handle major or minor > 255. Now our limit checking autodetects what the system supports (at compile time).
This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)
No binary (build failed)
—
(log yok)
| @@ -47,8 +47,10 @@ extern int mknod_main(int argc, char **argv) | |
| dev = 0; | |
| if ((*name != 'p') && ((argc -= 2) == 2)) { | |
| - | dev = (bb_xgetularg10_bnd(argv[2], 0, 255) << 8) |
| - | + bb_xgetularg10_bnd(argv[3], 0, 255); |
| + | /* Autodetect what the system supports; thexe macros should |
| + | * optimize out to two constants. */ |
| + | dev = makedev(bb_xgetularg10_bnd(argv[2], 0, major(UINT_MAX)), |
| + | bb_xgetularg10_bnd(argv[3], 0, minor(UINT_MAX))); |
| } | |
| if (argc == 2) { | |