diff options
author | Kay Sievers <kay.sievers@vrfy.org> | 2009-05-19 12:56:17 +0200 |
---|---|---|
committer | Kay Sievers <kay.sievers@vrfy.org> | 2009-05-19 12:56:17 +0200 |
commit | a0ee5a05bb3a9a838c35e07ff7a0bb7bbd2d0c9b (patch) | |
tree | 48729c7d9c0a490d0718bd4b6cfc4687f3151344 | |
parent | 055e40edc647d8ccfc27c9cd3163ab5dbf63ed6c (diff) |
remove format char string truncation syntax
-rwxr-xr-x | test/udev-test.pl | 21 | ||||
-rw-r--r-- | udev/udev-event.c | 27 | ||||
-rw-r--r-- | udev/udev.xml | 3 |
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> |