Merge "Print strerror for file read errors during flashing"
This commit is contained in:
commit
ed2e672f3b
1 changed files with 11 additions and 8 deletions
|
|
@ -156,6 +156,7 @@ void *load_file(const char *fn, unsigned *_sz)
|
||||||
char *data;
|
char *data;
|
||||||
int sz;
|
int sz;
|
||||||
int fd;
|
int fd;
|
||||||
|
int errno_tmp;
|
||||||
|
|
||||||
data = 0;
|
data = 0;
|
||||||
fd = open(fn, O_RDONLY);
|
fd = open(fn, O_RDONLY);
|
||||||
|
|
@ -176,8 +177,10 @@ void *load_file(const char *fn, unsigned *_sz)
|
||||||
return data;
|
return data;
|
||||||
|
|
||||||
oops:
|
oops:
|
||||||
|
errno_tmp = errno;
|
||||||
close(fd);
|
close(fd);
|
||||||
if(data != 0) free(data);
|
if(data != 0) free(data);
|
||||||
|
errno = errno_tmp;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -298,7 +301,7 @@ void *load_bootable_image(unsigned page_size, const char *kernel, const char *ra
|
||||||
|
|
||||||
kdata = load_file(kernel, &ksize);
|
kdata = load_file(kernel, &ksize);
|
||||||
if(kdata == 0) {
|
if(kdata == 0) {
|
||||||
fprintf(stderr, "cannot load '%s'\n", kernel);
|
fprintf(stderr, "cannot load '%s': %s\n", kernel, strerror(errno));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -318,7 +321,7 @@ void *load_bootable_image(unsigned page_size, const char *kernel, const char *ra
|
||||||
if(ramdisk) {
|
if(ramdisk) {
|
||||||
rdata = load_file(ramdisk, &rsize);
|
rdata = load_file(ramdisk, &rsize);
|
||||||
if(rdata == 0) {
|
if(rdata == 0) {
|
||||||
fprintf(stderr,"cannot load '%s'\n", ramdisk);
|
fprintf(stderr,"cannot load '%s': %s\n", ramdisk, strerror(errno));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -564,7 +567,7 @@ void do_flash(usb_handle *usb, const char *pname, const char *fname)
|
||||||
} else {
|
} else {
|
||||||
unsigned int sz;
|
unsigned int sz;
|
||||||
data = load_file(fname, &sz);
|
data = load_file(fname, &sz);
|
||||||
if (data == 0) die("cannot load '%s'\n", fname);
|
if (data == 0) die("cannot load '%s': %s\n", fname, strerror(errno));
|
||||||
fb_queue_flash(pname, data, sz);
|
fb_queue_flash(pname, data, sz);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -592,7 +595,7 @@ void do_update(char *fn)
|
||||||
fb_queue_query_save("product", cur_product, sizeof(cur_product));
|
fb_queue_query_save("product", cur_product, sizeof(cur_product));
|
||||||
|
|
||||||
zdata = load_file(fn, &zsize);
|
zdata = load_file(fn, &zsize);
|
||||||
if (zdata == 0) die("failed to load '%s'", fn);
|
if (zdata == 0) die("failed to load '%s': %s", fn, strerror(errno));
|
||||||
|
|
||||||
zip = init_zipfile(zdata, zsize);
|
zip = init_zipfile(zdata, zsize);
|
||||||
if(zip == 0) die("failed to access zipdata in '%s'");
|
if(zip == 0) die("failed to access zipdata in '%s'");
|
||||||
|
|
@ -662,12 +665,12 @@ void do_flashall(void)
|
||||||
fname = find_item("info", product);
|
fname = find_item("info", product);
|
||||||
if (fname == 0) die("cannot find android-info.txt");
|
if (fname == 0) die("cannot find android-info.txt");
|
||||||
data = load_file(fname, &sz);
|
data = load_file(fname, &sz);
|
||||||
if (data == 0) die("could not load android-info.txt");
|
if (data == 0) die("could not load android-info.txt: %s", strerror(errno));
|
||||||
setup_requirements(data, sz);
|
setup_requirements(data, sz);
|
||||||
|
|
||||||
fname = find_item("boot", product);
|
fname = find_item("boot", product);
|
||||||
data = load_file(fname, &sz);
|
data = load_file(fname, &sz);
|
||||||
if (data == 0) die("could not load boot.img");
|
if (data == 0) die("could not load boot.img: %s", strerror(errno));
|
||||||
do_send_signature(fname);
|
do_send_signature(fname);
|
||||||
fb_queue_flash("boot", data, sz);
|
fb_queue_flash("boot", data, sz);
|
||||||
|
|
||||||
|
|
@ -680,7 +683,7 @@ void do_flashall(void)
|
||||||
|
|
||||||
fname = find_item("system", product);
|
fname = find_item("system", product);
|
||||||
data = load_file(fname, &sz);
|
data = load_file(fname, &sz);
|
||||||
if (data == 0) die("could not load system.img");
|
if (data == 0) die("could not load system.img: %s", strerror(errno));
|
||||||
do_send_signature(fname);
|
do_send_signature(fname);
|
||||||
fb_queue_flash("system", data, sz);
|
fb_queue_flash("system", data, sz);
|
||||||
}
|
}
|
||||||
|
|
@ -847,7 +850,7 @@ int main(int argc, char **argv)
|
||||||
} else if(!strcmp(*argv, "signature")) {
|
} else if(!strcmp(*argv, "signature")) {
|
||||||
require(2);
|
require(2);
|
||||||
data = load_file(argv[1], &sz);
|
data = load_file(argv[1], &sz);
|
||||||
if (data == 0) die("could not load '%s'", argv[1]);
|
if (data == 0) die("could not load '%s': %s", argv[1], strerror(errno));
|
||||||
if (sz != 256) die("signature must be 256 bytes");
|
if (sz != 256) die("signature must be 256 bytes");
|
||||||
fb_queue_download("signature", data, sz);
|
fb_queue_download("signature", data, sz);
|
||||||
fb_queue_command("signature", "installing signature");
|
fb_queue_command("signature", "installing signature");
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue