mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-10-30 14:55:26 +03:00
[PATCH] fix test regressions
On Sat, Apr 17, 2004 at 03:30:29AM +0200, Kay Sievers wrote: > On Sat, Apr 17, 2004 at 02:04:55AM +0200, Kay Sievers wrote: > > On Fri, Apr 16, 2004 at 04:04:42PM -0700, Greg KH wrote: > > > Oh, and if you run the latest udev_test.pl, we have a bunch more tests, > > > including a few that fail, if you were looking for something to do :) > > > > Will do it. We need to change apply_format(). I tries to expand the '%%' > > with the next iteration over the string and removes the '%'. The tests are all successful now. If this patch breaks something else, we simply have too few tests :)
This commit is contained in:
parent
3a0b657b76
commit
a36a3c3a44
23
namedev.c
23
namedev.c
@ -199,23 +199,21 @@ static void apply_format(struct udevice *udev, char *string, size_t maxsize,
|
|||||||
struct sysfs_attribute *tmpattr;
|
struct sysfs_attribute *tmpattr;
|
||||||
|
|
||||||
pos = string;
|
pos = string;
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
pos = strchr(string, '%');
|
pos = strchr(pos, '%');
|
||||||
if (pos != NULL) {
|
if (pos == NULL)
|
||||||
pos[0] = '\0';
|
|
||||||
tail = pos+1;
|
|
||||||
len = get_format_len(&tail);
|
|
||||||
c = tail[0];
|
|
||||||
strfieldcpy(temp, tail+1);
|
|
||||||
tail = temp;
|
|
||||||
} else {
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
dbg("format=%c, string='%s', tail='%s'",c , string, tail);
|
|
||||||
|
|
||||||
|
pos[0] = '\0';
|
||||||
|
tail = pos+1;
|
||||||
|
len = get_format_len(&tail);
|
||||||
|
c = tail[0];
|
||||||
|
strfieldcpy(temp, tail+1);
|
||||||
|
tail = temp;
|
||||||
|
dbg("format=%c, string='%s', tail='%s'",c , string, tail);
|
||||||
attr = get_format_attribute(&tail);
|
attr = get_format_attribute(&tail);
|
||||||
|
|
||||||
|
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case 'b':
|
case 'b':
|
||||||
if (strlen(udev->bus_id) == 0)
|
if (strlen(udev->bus_id) == 0)
|
||||||
@ -286,6 +284,7 @@ static void apply_format(struct udevice *udev, char *string, size_t maxsize,
|
|||||||
break;
|
break;
|
||||||
case '%':
|
case '%':
|
||||||
strfieldcatmax(string, "%", maxsize);
|
strfieldcatmax(string, "%", maxsize);
|
||||||
|
pos++;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
dbg("unknown substitution type '%%%c'", c);
|
dbg("unknown substitution type '%%%c'", c);
|
||||||
|
Loading…
Reference in New Issue
Block a user