summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKay Sievers <kay.sievers@vrfy.org>2009-05-19 12:56:17 +0200
committerKay Sievers <kay.sievers@vrfy.org>2009-05-19 12:56:17 +0200
commita0ee5a05bb3a9a838c35e07ff7a0bb7bbd2d0c9b (patch)
tree48729c7d9c0a490d0718bd4b6cfc4687f3151344
parent055e40edc647d8ccfc27c9cd3163ab5dbf63ed6c (diff)
remove format char string truncation syntax
-rwxr-xr-xtest/udev-test.pl21
-rw-r--r--udev/udev-event.c27
-rw-r--r--udev/udev.xml3
3 files changed, 1 insertions, 50 deletions
diff --git a/test/udev-test.pl b/test/udev-test.pl
index 788bbeac25..b5abe620fb 100755
--- a/test/udev-test.pl
+++ b/test/udev-test.pl
@@ -284,15 +284,6 @@ SUBSYSTEMS=="scsi", KERNELS=="0:0:0:0", NAME="Major:%M:minor:%m:kernelnumber:%n:
EOF
},
{
- desc => "test substitution chars (with length limit)",
- subsys => "block",
- devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5",
- exp_name => "M8-m5-n5-b0:0-xAT" ,
- rules => <<EOF
-SUBSYSTEMS=="scsi", KERNELS=="0:0:0:0", NAME="M%M-m%m-n%n-b%3b-x%2s{vendor}"
-EOF
- },
- {
desc => "import of shell-value file",
subsys => "block",
devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda",
@@ -354,7 +345,7 @@ SUBSYSTEMS=="scsi", PROGRAM=="/bin/echo -n test-%b", RESULT=="test-0:0*", NAME="
EOF
},
{
- desc => "program with escaped format char (tricky: callout returns format char!)",
+ desc => "program with escaped format char (callout returns format char!)",
subsys => "block",
devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5",
exp_name => "escape-5" ,
@@ -1022,16 +1013,6 @@ KERNEL=="ttyACM[0-9]*", NAME="ttyACM%n", SYMLINK+="%s{dev}"
EOF
},
{
- desc => "symlink %Ns{filename} substitution",
- subsys => "tty",
- devpath => "/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0",
- exp_name => "166",
- exp_target => "ttyACM0",
- rules => <<EOF
-KERNEL=="ttyACM[0-9]*", NAME="ttyACM%n", SYMLINK+="%3s{dev}"
-EOF
- },
- {
desc => "program result substitution (numbered part of)",
subsys => "block",
devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5",
diff --git a/udev/udev-event.c b/udev/udev-event.c
index 345fb20e22..03ae352415 100644
--- a/udev/udev-event.c
+++ b/udev/udev-event.c
@@ -77,32 +77,12 @@ static char *get_format_attribute(struct udev *udev, char **str)
return attr;
}
-/* extract possible format length and move str behind it*/
-static int get_format_len(struct udev *udev, char **str)
-{
- int num;
- char *tail;
-
- if (isdigit(*str[0])) {
- num = (int) strtoul(*str, &tail, 10);
- if (num > 0) {
- *str = tail;
- dbg(udev, "format length=%i\n", num);
- return num;
- } else {
- err(udev, "format parsing error '%s'\n", *str);
- }
- }
- return -1;
-}
-
void udev_event_apply_format(struct udev_event *event, char *string, size_t maxsize)
{
struct udev_device *dev = event->dev;
char temp[UTIL_PATH_SIZE];
char temp2[UTIL_PATH_SIZE];
char *head, *tail, *cpos, *attr, *rest;
- int len;
int i;
int count;
enum subst_type {
@@ -153,7 +133,6 @@ void udev_event_apply_format(struct udev_event *event, char *string, size_t maxs
head = string;
while (1) {
- len = -1;
while (head[0] != '\0') {
if (head[0] == '$') {
/* substitute named variable */
@@ -188,7 +167,6 @@ void udev_event_apply_format(struct udev_event *event, char *string, size_t maxs
}
head[0] = '\0';
tail = head+1;
- len = get_format_len(event->udev, &tail);
for (subst = map; subst->name; subst++) {
if (tail[0] == subst->fmt) {
type = subst->type;
@@ -447,11 +425,6 @@ found:
err(event->udev, "unknown substitution type=%i\n", type);
break;
}
- /* possibly truncate to format-char specified length */
- if (len >= 0 && len < (int)strlen(head)) {
- head[len] = '\0';
- dbg(event->udev, "truncate to %i chars, subtitution string becomes '%s'\n", len, head);
- }
util_strlcat(string, temp, maxsize);
}
}
diff --git a/udev/udev.xml b/udev/udev.xml
index 084c13bd98..cd4884d3b5 100644
--- a/udev/udev.xml
+++ b/udev/udev.xml
@@ -620,9 +620,6 @@
</listitem>
</varlistentry>
</variablelist>
- <para>The count of characters to be substituted may be limited by specifying
- the format length value. For example, '%3s{file}' will only
- insert the first three characters of the sysfs attribute</para>
</refsect2>
</refsect1>