mtd: fix r24132

SVN-Revision: 24134
master
Jo-Philipp Wich 14 years ago
parent 1fd328fb78
commit 04b604704b
  1. 58
      package/mtd/src/mtd.c

@ -519,35 +519,35 @@ resume:
}
/* need to erase the next block before writing data to it */
if(no_erase)
{
while (w + buflen > e) {
if (!quiet)
fprintf(stderr, "\b\b\b[e]");
if (mtd_erase_block(fd, e) < 0) {
if (next) {
if (w < e) {
write(fd, buf + offset, e - w);
offset = e - w;
if(!no_erase)
{
while (w + buflen > e) {
if (!quiet)
fprintf(stderr, "\b\b\b[e]");
if (mtd_erase_block(fd, e) < 0) {
if (next) {
if (w < e) {
write(fd, buf + offset, e - w);
offset = e - w;
}
w = 0;
e = 0;
close(fd);
mtd = next;
fprintf(stderr, "\b\b\b \n");
goto resume;
} else {
fprintf(stderr, "Failed to erase block\n");
exit(1);
}
w = 0;
e = 0;
close(fd);
mtd = next;
fprintf(stderr, "\b\b\b \n");
goto resume;
} else {
fprintf(stderr, "Failed to erase block\n");
exit(1);
}
}
/* erase the chunk */
e += erasesize;
}
}
/* erase the chunk */
e += erasesize;
}
}
if (!quiet)
fprintf(stderr, "\b\b\b[w]");
@ -665,9 +665,9 @@ int main (int argc, char **argv)
case 'r':
boot = 1;
break;
case 'n':
no_erase = 1;
break;
case 'n':
no_erase = 1;
break;
case 'j':
jffs2file = optarg;
break;

Loading…
Cancel
Save