diff options
author | David Anderson <dvander@google.com> | 2018-08-21 22:10:45 +0200 |
---|---|---|
committer | David Anderson <dvander@google.com> | 2018-08-22 01:04:57 +0200 |
commit | eee4e260f9f65cda362c073fdc62c2f897f331b7 (patch) | |
tree | a79922cb716be22ee38fbaca877c3763519d5f48 | |
parent | Merge "Add a python binary to generate the protobuf for care_map" (diff) | |
download | android_bootable_recovery-eee4e260f9f65cda362c073fdc62c2f897f331b7.tar android_bootable_recovery-eee4e260f9f65cda362c073fdc62c2f897f331b7.tar.gz android_bootable_recovery-eee4e260f9f65cda362c073fdc62c2f897f331b7.tar.bz2 android_bootable_recovery-eee4e260f9f65cda362c073fdc62c2f897f331b7.tar.lz android_bootable_recovery-eee4e260f9f65cda362c073fdc62c2f897f331b7.tar.xz android_bootable_recovery-eee4e260f9f65cda362c073fdc62c2f897f331b7.tar.zst android_bootable_recovery-eee4e260f9f65cda362c073fdc62c2f897f331b7.zip |
Diffstat (limited to '')
-rw-r--r-- | recovery_main.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/recovery_main.cpp b/recovery_main.cpp index 99f965098..020a5314f 100644 --- a/recovery_main.cpp +++ b/recovery_main.cpp @@ -97,8 +97,13 @@ static std::vector<std::string> get_args(const int argc, char** const argv) { } stage = std::string(boot.stage); + std::string boot_command; if (boot.command[0] != 0) { - std::string boot_command = std::string(boot.command, sizeof(boot.command)); + if (memchr(boot.command, '\0', sizeof(boot.command))) { + boot_command = std::string(boot.command); + } else { + boot_command = std::string(boot.command, sizeof(boot.command)); + } LOG(INFO) << "Boot command: " << boot_command; } @@ -149,6 +154,12 @@ static std::vector<std::string> get_args(const int argc, char** const argv) { LOG(ERROR) << "Failed to set BCB message: " << err; } + // Finally, if no arguments were specified, check whether we should boot + // into fastboot. + if (args.size() == 1 && boot_command == "boot-fastboot") { + args.emplace_back("--fastboot"); + } + return args; } |