- block_dev_desc_t *desc;
- disk_partition_t info;
- char buf[512] = { 0 };
- int part;
- int err;
- int ret;
-
- if (argc < 3)
- return CMD_RET_USAGE;
- if (argc > 4)
- return CMD_RET_USAGE;
-
- part = simple_strtoul(argv[2], NULL, 0);
-
- ret = get_device(argv[0], argv[1], &desc);
- if (ret < 0)
- return 1;
-
- err = get_partition_info(desc, part, &info);
- if (err)
- return 1;
-
- snprintf(buf, sizeof(buf), LBAF, info.size);
-
- if (argc > 3)
- setenv(argv[3], buf);
- else
- printf("%s\n", buf);