struct sysfs_device *sysfs_device)
{
char temp[NAME_SIZE];
+ char temp2[NAME_SIZE];
char *tail;
char *pos;
char *attr;
int len;
int i;
- int spos, slen;
char c;
+ char *spos;
+ int slen;
struct sysfs_attribute *tmpattr;
pos = string;
dbg("requested part of result string not found");
break;
}
- strnfieldcat(string, udev->program_result + spos, slen+1);
- dbg("substitute part of result string '%s'", pos);
+ strnfieldcpy(temp2, spos, slen+1);
+ strnfieldcat(string, temp2, maxsize);
+ dbg("substitute part of result string '%s'", temp2);
} else {
strnfieldcat(string, udev->program_result, maxsize);
dbg("substitute result string '%s'", udev->program_result);