mdev: fix breakage caused by unified parser usage
authorDenis Vlasenko <vda.linux@googlemail.com>
Mon, 12 Jan 2009 07:57:52 +0000 (07:57 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Mon, 12 Jan 2009 07:57:52 +0000 (07:57 -0000)
testsuite/mdev.tests
util-linux/mdev.c

index 22855791a4ec5242c9b54fcb18ac5d6f5dc6a40d..90379e6685b466cf8e5e92777a9d296fe741afba 100755 (executable)
@@ -109,6 +109,22 @@ brw-r--r-- 1 0 0 8,0 sda
 " \
        "" ""
 
+# continuing to use directory structure from prev test
+rm -rf mdev.testdir/dev/*
+echo "sda 0:0 644 =block/ @echo @echo TEST" >mdev.testdir/etc/mdev.conf
+testing "mdev move and command" \
+       "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1;
+       ls -lnR mdev.testdir/dev | $FILTER_LS2" \
+"\
+@echo TEST
+mdev.testdir/dev:
+drwxr-xr-x 2 0 0 block
+
+mdev.testdir/dev/block:
+brw-r--r-- 1 0 0 sda
+" \
+       "" ""
+
 # continuing to use directory structure from prev test
 rm -rf mdev.testdir/dev/*
 echo "@8,0 :1 644" >mdev.testdir/etc/mdev.conf
index 9ad1a6ff2215103cd10fe0eed366c590c62eb741..0460aa7770679be118935fd5e81802beeb9f6340 100644 (file)
@@ -179,8 +179,9 @@ static void make_device(char *path, int delete)
                        unsigned i, n;
 #endif
                        char *a = val;
-                       s = strchr(val, ' ');
-                       val = (s && s[1]) ? s+1 : NULL;
+                       s = strchrnul(val, ' ');
+                       val = (s[0] && s[1]) ? s+1 : NULL;
+                       s[0] = '\0';
 #if ENABLE_FEATURE_MDEV_RENAME_REGEXP
                        /* substitute %1..9 with off[1..9], if any */
                        n = 0;