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[] = {
static const struct bdc *find_cmd(const char *s)
{
- int j;
- if (*s++ == '-')
- if (*s++ == '-')
- for (j = 0; j < ARRAY_SIZE(bdcommands); j++)
- if (strcmp(s, bdcommands[j].name) == 0)
- return &bdcommands[j];
+ const struct bdc *bdcmd = bdcommands;
+ if (s[0] == '-' && s[1] == '-') {
+ s += 2;
+ do {
+ if (strcmp(s, bdcmd->name) == 0)
+ return bdcmd;
+ bdcmd++;
+ } while (bdcmd != bdcommands + ARRAY_SIZE(bdcommands));
+ }
bb_show_usage();
}