summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/gpt.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/cmd/gpt.c b/cmd/gpt.c
index d0e165d5394..99ca0a61630 100644
--- a/cmd/gpt.c
+++ b/cmd/gpt.c
@@ -691,12 +691,13 @@ static int gpt_enumerate(struct blk_desc *desc)
int ret;
int i;
+ if (part_drv->test(desc))
+ continue;
+
for (i = 1; i < part_drv->max_entries; i++) {
ret = part_drv->get_info(desc, i, &pinfo);
- if (ret) {
- /* no more entries in table */
- break;
- }
+ if (ret)
+ continue;
ptr = &part_list[str_len];
tmp_len = strlen((const char *)pinfo.name);
@@ -711,9 +712,10 @@ static int gpt_enumerate(struct blk_desc *desc)
/* One byte for space(" ") delimiter */
ptr[tmp_len] = ' ';
}
+ if (*part_list)
+ part_list[strlen(part_list) - 1] = 0;
+ break;
}
- if (*part_list)
- part_list[strlen(part_list) - 1] = 0;
debug("setenv gpt_partition_list %s\n", part_list);
return env_set("gpt_partition_list", part_list);