Merge "write_bootloader_message(<options>) should not reset stage field."

This commit is contained in:
Tao Bao
2016-12-09 22:33:48 +00:00
committed by Gerrit Code Review
2 changed files with 9 additions and 2 deletions
+7 -1
View File
@@ -164,7 +164,13 @@ bool clear_bootloader_message(std::string* err) {
}
bool write_bootloader_message(const std::vector<std::string>& options, std::string* err) {
bootloader_message boot = {};
bootloader_message boot;
if (!read_bootloader_message(&boot, err)) {
return false;
}
// Zero out the entire fields.
memset(boot.command, 0, sizeof(boot.command));
memset(boot.recovery, 0, sizeof(boot.recovery));
strlcpy(boot.command, "boot-recovery", sizeof(boot.command));
strlcpy(boot.recovery, "recovery\n", sizeof(boot.recovery));
for (const auto& s : options) {
@@ -193,7 +193,8 @@ bool write_bootloader_message(const bootloader_message& boot, std::string* err);
bool write_bootloader_message_to(const bootloader_message& boot,
const std::string& misc_blk_device, std::string* err);
// Write bootloader message (boots into recovery with the options) to BCB.
// Write bootloader message (boots into recovery with the options) to BCB. Will
// set command and recovery fields only.
bool write_bootloader_message(const std::vector<std::string>& options, std::string* err);
// Clear BCB.