udevinfo: print error in --attribute-walk

This commit is contained in:
Kay Sievers
2006-09-19 17:07:25 +02:00
parent 7b5206d609
commit bc2a89fad6
+14 -6
View File
@@ -104,6 +104,10 @@ static int print_device_chain(const char *devpath)
{
struct sysfs_device *dev;
dev = sysfs_device_get(devpath);
if (dev == NULL)
return -1;
printf("\n"
"Udevinfo starts with the device specified by the devpath and then\n"
"walks up the chain of parent devices. It prints for every device\n"
@@ -112,10 +116,6 @@ static int print_device_chain(const char *devpath)
"and the attributes from one single parent device.\n"
"\n");
dev = sysfs_device_get(devpath);
if (dev == NULL)
return -1;
printf(" looking at device '%s':\n", dev->devpath);
printf(" KERNEL==\"%s\"\n", dev->kernel);
printf(" SUBSYSTEM==\"%s\"\n", dev->subsystem);
@@ -377,7 +377,11 @@ int main(int argc, char *argv[], char *envp[])
break;
case ACTION_ATTRIBUTE_WALK:
if (path[0] != '\0') {
print_device_chain(path);
if (print_device_chain(path) != 0) {
fprintf(stderr, "device not found\n");
rc = 4;
goto exit;
}
} else if (name[0] != '\0') {
char devpath[PATH_SIZE];
@@ -386,7 +390,11 @@ int main(int argc, char *argv[], char *envp[])
rc = 4;
goto exit;
}
print_device_chain(devpath);
if (print_device_chain(devpath) != 0) {
fprintf(stderr, "device not found\n");
rc = 4;
goto exit;
}
} else {
fprintf(stderr, "attribute walk needs --path or node --name specified\n");
rc = 5;