summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--udevinfo.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/udevinfo.c b/udevinfo.c
index 8e54705fe3..eb9b353404 100644
--- a/udevinfo.c
+++ b/udevinfo.c
@@ -385,21 +385,14 @@ int main(int argc, char *argv[], char *envp[])
printf("%s\n", udev->name);
break;
case QUERY_SYMLINK:
- if (list_empty(&udev->symlink_list))
- goto exit;
- if (root)
- list_for_each_entry(name_loop, &udev->symlink_list, node)
- if (name_loop->node.next != &udev->symlink_list)
- printf("%s/%s ", udev_root, name_loop->name);
- else
- printf("%s/%s", udev_root, name_loop->name);
- else
- list_for_each_entry(name_loop, &udev->symlink_list, node)
- if (name_loop->node.next != &udev->symlink_list)
- printf("%s ", name_loop->name);
- else
- printf("%s", name_loop->name);
- printf("\n");
+ list_for_each_entry(name_loop, &udev->symlink_list, node) {
+ char c = name_loop->node.next != &udev->symlink_list ? ' ' : '\n';
+
+ if (root)
+ printf("%s/%s%c", udev_root, name_loop->name, c);
+ else
+ printf("%s%c", name_loop->name, c);
+ }
break;
case QUERY_PATH:
printf("%s\n", udev->dev->devpath);