makedevs: Add support for 16-bit major/minor numbers
authorMatt Fleming <matthew.fleming@imgtec.com>
Fri, 24 Sep 2010 13:43:17 +0000 (14:43 +0100)
committerPeter Korsgaard <jacmet@sunsite.dk>
Fri, 14 Jan 2011 21:50:39 +0000 (22:50 +0100)
Closes #2647

[Peter: Adjust for the real 12bit majors/20bit minors supported by Linux]
Signed-off-by: Matt Fleming <matthew.fleming@imgtec.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
CHANGES
package/makedevs/makedevs.c

diff --git a/CHANGES b/CHANGES
index 15ae30128524a42455ef7acd4a195cf7c23a6320..fd9da9c73a5b71857901925845645ec79b4e8082 100644 (file)
--- a/CHANGES
+++ b/CHANGES
        hostapd, i2c-tools, icu, input-tools, iproute2, iptables,
        jpeg, libaio, libcap, libconfig, libglib2, libogg, libtheora,
        libtool, libvorbis, libxml2, libxslt, linux-fusion, lsof,
-       ltp-testsuite, ltrace, lvm2, m4, memtester, mesa3d, mii-diag,
-       mpc, mpfr, mplayer, mrouted, nano, netperf, netplug, openssh,
-       openssl, openvpn, oprofile, pango, patch, pciutils, php,
-       portmap, qt, rsync, screen, sdl_gfx, sdl_sound, sqlite, squid,
-       sstrip, sysklogd, sysvinit, tar, tslib, udev, usbutils, vim,
-       vtun, webkit, xapp_xlogo, xkeyboard-config, xlib_libX11, xz,
-       zlib
+       ltp-testsuite, ltrace, lvm2, m4, makedevs, memtester, mesa3d,
+       mii-diag, mpc, mpfr, mplayer, mrouted, nano, netperf, netplug,
+       openssh, openssl, openvpn, oprofile, pango, patch, pciutils,
+       php, portmap, qt, rsync, screen, sdl_gfx, sdl_sound, sqlite,
+       squid, sstrip, sysklogd, sysvinit, tar, tslib, udev, usbutils,
+       vim, vtun, webkit, xapp_xlogo, xkeyboard-config, xlib_libX11,
+       xz, zlib
 
        New packages: dhrystone, fbgrab, irda-utils, libao, lsuio,
        rsh-redone, sdparm, vorbis-tools, whetstone, xl2tp
@@ -37,6 +37,7 @@
        #561:  ltp-testsuite failed to install
        #1651: Build fail caused by ccache in module-init-tools
        #1735: [PATCH] mplayer: convert to autotools infrastructure
+       #2647: makedevs package lacks support for 16-bit major/minor numbers
        #2371: QT MYSQL Module does not build when MySQL installed on the host
        #2905: Qt: Speed up compilation, if gui-module isn't selected
        #2929: genext2fs: couldn't allocate a block (no free space)
index 5ca45e9aeb422e487c569aefe24e1591ee93cfda..a0e745037539400c0d61702ab23c1558d1527338 100644 (file)
@@ -414,7 +414,7 @@ int main(int argc, char **argv)
                if ((2 > sscanf(line, "%40s %c %o %40s %40s %u %u %u %u %u", name,
                                                &type, &mode, user, group, &major,
                                                &minor, &start, &increment, &count)) ||
-                               ((major | minor | start | count | increment) > 255))
+                               ((major | minor | start | count | increment) > 0xfffff))
                {
                        if (*line=='\0' || *line=='#' || isspace(*line))
                                continue;
@@ -488,7 +488,7 @@ int main(int argc, char **argv)
                                int i;
                                char *full_name_inc;
 
-                               full_name_inc = xmalloc(strlen(full_name) + 4);
+                               full_name_inc = xmalloc(strlen(full_name) + 8);
                                for (i = start; i < count; i++) {
                                        sprintf(full_name_inc, "%s%d", full_name, i);
                                        rdev = makedev(major, minor + (i * increment - start));