|
|
|
@ -274,7 +274,7 @@ mtd_erase(const char *mtd) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int |
|
|
|
|
mtd_dump(const char *mtd, int size) |
|
|
|
|
mtd_dump(const char *mtd, int part_offset, int size) |
|
|
|
|
{ |
|
|
|
|
int ret = 0, offset = 0; |
|
|
|
|
int fd; |
|
|
|
@ -292,6 +292,9 @@ mtd_dump(const char *mtd, int size) |
|
|
|
|
if (!size) |
|
|
|
|
size = mtdsize; |
|
|
|
|
|
|
|
|
|
if (part_offset) |
|
|
|
|
lseek(fd, part_offset, SEEK_SET); |
|
|
|
|
|
|
|
|
|
buf = malloc(erasesize); |
|
|
|
|
if (!buf) |
|
|
|
|
return -1; |
|
|
|
@ -769,10 +772,6 @@ int main (int argc, char **argv) |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case 'o': |
|
|
|
|
if (!mtd_fixtrx) { |
|
|
|
|
fprintf(stderr, "-o: is not available on this platform\n"); |
|
|
|
|
usage(); |
|
|
|
|
} |
|
|
|
|
errno = 0; |
|
|
|
|
offset = strtoul(optarg, 0, 0); |
|
|
|
|
if (errno) { |
|
|
|
@ -872,7 +871,7 @@ int main (int argc, char **argv) |
|
|
|
|
mtd_verify(device, imagefile); |
|
|
|
|
break; |
|
|
|
|
case CMD_DUMP: |
|
|
|
|
mtd_dump(device, dump_len); |
|
|
|
|
mtd_dump(device, offset, dump_len); |
|
|
|
|
break; |
|
|
|
|
case CMD_ERASE: |
|
|
|
|
if (!unlocked) |
|
|
|
|