accept relative path for TEST

This commit is contained in:
Kay Sievers
2007-08-16 12:45:31 +02:00
parent 88b74dc692
commit 03f65fe6a9
2 changed files with 36 additions and 0 deletions
+28
View File
@@ -1568,6 +1568,34 @@ EOF
exp_name => "00:e0:00:fb:04:e1",
rules => <<EOF
KERNEL=="sda", NAME="\$attr{[net/eth0]address}"
EOF
},
{
desc => "TEST absolute path",
subsys => "block",
devpath => "/block/sda",
exp_name => "there",
rules => <<EOF
TEST=="/etc/hosts", NAME="there"
NAME="notthere"
EOF
},
{
desc => "TEST subsys/kernel lookup",
subsys => "block",
devpath => "/block/sda",
exp_name => "yes",
rules => <<EOF
KERNEL=="sda", TEST=="[net/eth0]", NAME="yes"
EOF
},
{
desc => "TEST relative path",
subsys => "block",
devpath => "/block/sda",
exp_name => "relative",
rules => <<EOF
KERNEL=="sda", TEST=="size", NAME="relative"
EOF
},
);
+8
View File
@@ -1003,6 +1003,14 @@ static int match_rule(struct udevice *udev, struct udev_rule *rule)
strlcat(filename, "/", sizeof(filename));
strlcat(filename, attr, sizeof(filename));
}
} else if (filename[0] != '/') {
char tmp[PATH_SIZE];
strlcpy(tmp, sysfs_path, sizeof(tmp));
strlcat(tmp, udev->dev->devpath, sizeof(tmp));
strlcat(tmp, "/", sizeof(tmp));
strlcat(tmp, filename, sizeof(tmp));
strlcpy(filename, tmp, sizeof(filename));
}
match = (stat(filename, &statbuf) == 0);