aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--util-linux/blockdev.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/util-linux/blockdev.c b/util-linux/blockdev.c
index fea30b009..2b48c28c9 100644
--- a/util-linux/blockdev.c
+++ b/util-linux/blockdev.c
@@ -109,12 +109,15 @@ static const struct bdc bdcommands[] = {
109 109
110static const struct bdc *find_cmd(const char *s) 110static const struct bdc *find_cmd(const char *s)
111{ 111{
112 int j; 112 const struct bdc *bdcmd = bdcommands;
113 if (*s++ == '-') 113 if (s[0] == '-' && s[1] == '-') {
114 if (*s++ == '-') 114 s += 2;
115 for (j = 0; j < ARRAY_SIZE(bdcommands); j++) 115 do {
116 if (strcmp(s, bdcommands[j].name) == 0) 116 if (strcmp(s, bdcmd->name) == 0)
117 return &bdcommands[j]; 117 return bdcmd;
118 bdcmd++;
119 } while (bdcmd != bdcommands + ARRAY_SIZE(bdcommands));
120 }
118 bb_show_usage(); 121 bb_show_usage();
119} 122}
120 123