diff options
Diffstat (limited to 'util-linux/findfs.c')
-rw-r--r-- | util-linux/findfs.c | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/util-linux/findfs.c b/util-linux/findfs.c index 5b64399ad..1e9c68752 100644 --- a/util-linux/findfs.c +++ b/util-linux/findfs.c | |||
@@ -12,26 +12,27 @@ | |||
12 | #include "volume_id.h" | 12 | #include "volume_id.h" |
13 | 13 | ||
14 | int findfs_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 14 | int findfs_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
15 | int findfs_main(int argc, char **argv) | 15 | int findfs_main(int argc UNUSED_PARAM, char **argv) |
16 | { | 16 | { |
17 | char *tmp = NULL; | 17 | char *dev = *++argv; |
18 | 18 | ||
19 | if (argc != 2) | 19 | if (!dev) |
20 | bb_show_usage(); | 20 | bb_show_usage(); |
21 | 21 | ||
22 | if (!strncmp(argv[1], "LABEL=", 6)) | 22 | if (strncmp(dev, "/dev/", 5) == 0) { |
23 | tmp = get_devname_from_label(argv[1] + 6); | 23 | /* Just pass any /dev/xxx name right through. |
24 | else if (!strncmp(argv[1], "UUID=", 5)) | 24 | * This might aid in some scripts being able |
25 | tmp = get_devname_from_uuid(argv[1] + 5); | 25 | * to call this unconditionally */ |
26 | else if (!strncmp(argv[1], "/dev/", 5)) { | 26 | dev = NULL; |
27 | /* Just pass a device name right through. This might aid in some scripts | 27 | } else { |
28 | being able to call this unconditionally */ | 28 | /* Otherwise, handle LABEL=xxx and UUID=xxx, |
29 | tmp = argv[1]; | 29 | * fail on anything else */ |
30 | } else | 30 | if (!resolve_mount_spec(argv)) |
31 | bb_show_usage(); | 31 | bb_show_usage(); |
32 | } | ||
32 | 33 | ||
33 | if (tmp) { | 34 | if (*argv != dev) { |
34 | puts(tmp); | 35 | puts(*argv); |
35 | return 0; | 36 | return 0; |
36 | } | 37 | } |
37 | return 1; | 38 | return 1; |