diff options
Diffstat (limited to 'commands/partition.c')
-rwxr-xr-x | commands/partition.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/commands/partition.c b/commands/partition.c index 399cb62005..b914d51111 100755 --- a/commands/partition.c +++ b/commands/partition.c @@ -133,23 +133,23 @@ static int mtd_part_do_parse_one(struct partition *part, const char *partstr, partstr = end; if (*partstr == '(') { + const char *bclose; + partstr++; - end = strchr(partstr, ')'); - if (!end) { + bclose = strchr(partstr, ')'); + if (!bclose) { printf("could not find matching ')'\n"); return -EINVAL; } - if (end - partstr >= MAX_DRIVER_NAME) { + if (bclose - partstr >= MAX_DRIVER_NAME) { printf("device name too long\n"); return -EINVAL; } - memcpy(part->name, partstr, end - partstr); - end++; + memcpy(part->name, partstr, bclose - partstr); + partstr = bclose + 1; } - partstr = end; - if (*partstr == 'r' && *(partstr + 1) == 'o') { part->flags |= PARTITION_READONLY; end = (char *)(partstr + 2); |