summaryrefslogtreecommitdiffstats
path: root/commands
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2007-10-09 17:16:08 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2007-10-09 17:16:08 +0200
commitbd1910d500de165506acbb8359a79e072344d219 (patch)
treebf40df9cfdaefd6971450c2e892181606ccd1b97 /commands
parent41c7912446cb1bdb442b14bb2f09dcbff5beab61 (diff)
downloadbarebox-bd1910d500de165506acbb8359a79e072344d219.tar.gz
barebox-bd1910d500de165506acbb8359a79e072344d219.tar.xz
fix area parsing for erase/protect, add error parsing
Diffstat (limited to 'commands')
-rw-r--r--commands/flash.c12
-rw-r--r--commands/mem.c5
2 files changed, 13 insertions, 4 deletions
diff --git a/commands/flash.c b/commands/flash.c
index 82cce0fdca..7d7876d862 100644
--- a/commands/flash.c
+++ b/commands/flash.c
@@ -65,8 +65,11 @@ static int do_flerase (cmd_tbl_t *cmdtp, int argc, char *argv[])
return 1;
}
- if (argc == 2)
- parse_area_spec(argv[optind], &start, &size);
+ if (argc == 3)
+ if (parse_area_spec(argv[2], &start, &size)) {
+ printf("could not parse: %s\n", argv[optind]);
+ return 1;
+ }
if(erase(fd, size, start)) {
perror("erase");
@@ -127,7 +130,10 @@ static int do_protect (cmd_tbl_t *cmdtp, int argc, char *argv[])
}
if (argc == 3)
- parse_area_spec(argv[optind], &start, &size);
+ if (parse_area_spec(argv[2], &start, &size)) {
+ printf("could not parse: %s\n", argv[optind]);
+ return 1;
+ }
if(protect(fd, size, start, prot)) {
perror("protect");
diff --git a/commands/mem.c b/commands/mem.c
index 0dbad839df..aa41a9e149 100644
--- a/commands/mem.c
+++ b/commands/mem.c
@@ -145,7 +145,10 @@ static int do_mem_md ( cmd_tbl_t *cmdtp, int argc, char *argv[])
return 1;
if (optind < argc) {
- parse_area_spec(argv[optind], &start, &size);
+ if (parse_area_spec(argv[optind], &start, &size)) {
+ printf("could not parse: %s\n", argv[optind]);
+ return 1;
+ }
if (size == ~0)
size = 0x100;
}