Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a8d72bc3 authored by Tao Bao's avatar Tao Bao
Browse files

recovery: Drop the "--stages" / '-g' argument.

This was introduced in commit c87bab10.
But the stage info should be passed through BCB only (there's a
dedicated field in struct bootloader_message).

This CL removes it from recovery arguments, and also moves 'stage'
variable to std::string.

Test: 'stage' variable is not used by any device-specific recovery code.
Test: Code search shows no hit of '--stages' use.
Change-Id: Iccbde578a13255f2b55dd4a928e9ecf487f16b97
parent a2e7a070
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ extern RecoveryUI* ui;
extern bool modified_flash;

// The current stage, e.g. "1/2".
extern const char* stage;
extern std::string stage;

// The reason argument provided in "--reason=".
extern const char* reason;
+4 −13
Original line number Diff line number Diff line
@@ -83,7 +83,6 @@ static const struct option OPTIONS[] = {
  { "sideload_auto_reboot", no_argument, NULL, 'a' },
  { "just_exit", no_argument, NULL, 'x' },
  { "locale", required_argument, NULL, 'l' },
  { "stages", required_argument, NULL, 'g' },
  { "shutdown_after", no_argument, NULL, 'p' },
  { "reason", required_argument, NULL, 'r' },
  { "security", no_argument, NULL, 'e'},
@@ -129,7 +128,7 @@ static bool has_cache = false;

RecoveryUI* ui = nullptr;
bool modified_flash = false;
const char* stage = nullptr;
std::string stage;
const char* reason = nullptr;
struct selabel_handle* sehandle;

@@ -309,7 +308,7 @@ static std::vector<std::string> get_args(const int argc, char** const argv) {
    // If fails, leave a zeroed bootloader_message.
    boot = {};
  }
  stage = strndup(boot.stage, sizeof(boot.stage));
  stage = std::string(boot.stage);

  if (boot.command[0] != 0) {
    std::string boot_command = std::string(boot.command, sizeof(boot.command));
@@ -1422,14 +1421,6 @@ int main(int argc, char **argv) {
        case 'a': sideload = true; sideload_auto_reboot = true; break;
        case 'x': just_exit = true; break;
        case 'l': locale = optarg; break;
        case 'g': {
            if (stage == NULL || *stage == '\0') {
                char buffer[20] = "1/";
                strncat(buffer, optarg, sizeof(buffer)-3);
                stage = strdup(buffer);
            }
            break;
        }
        case 'p': shutdown_after = true; break;
        case 'r': reason = optarg; break;
        case 'e': security_update = true; break;
@@ -1461,7 +1452,7 @@ int main(int argc, char **argv) {
    }

    printf("locale is [%s]\n", locale.c_str());
    printf("stage is [%s]\n", stage);
    printf("stage is [%s]\n", stage.c_str());
    printf("reason is [%s]\n", reason);

    Device* device = make_device();
@@ -1476,7 +1467,7 @@ int main(int argc, char **argv) {
    ui->SetSystemUpdateText(security_update);

    int st_cur, st_max;
    if (stage != NULL && sscanf(stage, "%d/%d", &st_cur, &st_max) == 2) {
    if (!stage.empty() && sscanf(stage.c_str(), "%d/%d", &st_cur, &st_max) == 2) {
        ui->SetStage(st_cur, st_max);
    }