fix symlink values separated by multiple spaces
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
This commit is contained in:
parent
97c0448d9a
commit
7b2bdb4b1b
|
@ -799,6 +799,17 @@ EOF
|
|||
exp_target => "ttyUSB0",
|
||||
rules => <<EOF
|
||||
KERNEL=="ttyUSB[0-9]*", NAME="ttyUSB%n", SYMLINK="symlink1-%n symlink2-%k symlink3-%b"
|
||||
EOF
|
||||
},
|
||||
{
|
||||
desc => "multiple symlinks with a lot of s p a c e s",
|
||||
subsys => "tty",
|
||||
devpath => "/class/tty/ttyUSB0",
|
||||
exp_name => "one",
|
||||
not_exp_name => " ",
|
||||
exp_target => "ttyUSB0",
|
||||
rules => <<EOF
|
||||
KERNEL=="ttyUSB[0-9]*", NAME="ttyUSB%n", SYMLINK=" one two "
|
||||
EOF
|
||||
},
|
||||
{
|
||||
|
|
12
udev_rules.c
12
udev_rules.c
|
@ -958,16 +958,22 @@ int udev_rules_get_name(struct udev_rules *rules, struct udevice *udev, struct s
|
|||
|
||||
/* add multiple symlinks separated by spaces */
|
||||
pos = temp;
|
||||
next = strchr(temp, ' ');
|
||||
while (isspace(pos[0]))
|
||||
pos++;
|
||||
next = strchr(pos, ' ');
|
||||
while (next) {
|
||||
next[0] = '\0';
|
||||
info("add symlink '%s'", pos);
|
||||
name_list_add(&udev->symlink_list, pos, 0);
|
||||
while (isspace(next[1]))
|
||||
next++;
|
||||
pos = &next[1];
|
||||
next = strchr(pos, ' ');
|
||||
}
|
||||
info("add symlink '%s'", pos);
|
||||
name_list_add(&udev->symlink_list, pos, 0);
|
||||
if (pos[0] != '\0') {
|
||||
info("add symlink '%s'", pos);
|
||||
name_list_add(&udev->symlink_list, pos, 0);
|
||||
}
|
||||
}
|
||||
|
||||
/* set name, later rules with name set will be ignored */
|
||||
|
|
Loading…
Reference in a new issue