Cope with angler's whitespace-padded partition size reporting.
Before:
$ fastboot -w
wiping userdata...
Couldn't parse partition size '0x 0x66257ee00'.
wiping cache...
Couldn't parse partition size '0x 0x6400000'.
erasing 'userdata'...
Bug: http://b/25653580
(cherry picked from commit a2db2618ec
)
Change-Id: I15e6bee4d88695d4482013c4f86586276acdea84
This commit is contained in:
parent
2812011cfb
commit
5e942fea31
1 changed files with 5 additions and 4 deletions
|
@ -1027,6 +1027,11 @@ static void fb_perform_format(usb_handle* usb,
|
|||
}
|
||||
partition_size = size_override;
|
||||
}
|
||||
// Some bootloaders (angler, for example), send spurious leading whitespace.
|
||||
partition_size = android::base::Trim(partition_size);
|
||||
// Some bootloaders (hammerhead, for example) use implicit hex.
|
||||
// This code used to use strtol with base 16.
|
||||
if (!android::base::StartsWith(partition_size, "0x")) partition_size = "0x" + partition_size;
|
||||
|
||||
gen = fs_get_generator(partition_type);
|
||||
if (!gen) {
|
||||
|
@ -1040,10 +1045,6 @@ static void fb_perform_format(usb_handle* usb,
|
|||
return;
|
||||
}
|
||||
|
||||
// Some bootloaders (hammerhead, for example) use implicit hex.
|
||||
// This code used to use strtol with base 16.
|
||||
if (!android::base::StartsWith(partition_size, "0x")) partition_size = "0x" + partition_size;
|
||||
|
||||
int64_t size;
|
||||
if (!android::base::ParseInt(partition_size.c_str(), &size)) {
|
||||
fprintf(stderr, "Couldn't parse partition size '%s'.\n", partition_size.c_str());
|
||||
|
|
Loading…
Reference in a new issue