accept relative path for TEST
This commit is contained in:
@@ -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
|
||||
},
|
||||
);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user