summaryrefslogtreecommitdiffstats
path: root/updater/install.cpp
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2020-05-13 19:42:21 +0200
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-05-13 19:42:21 +0200
commit7875d824f9632ef7af6a1bbcef76f125cda71c08 (patch)
treeac504cb7b03cd61ef0b5312c99427f8678c95ead /updater/install.cpp
parentAdd slot suffix to DAP ops am: bc7e1db211 (diff)
parentMerge changes from topic "nonab_on_vab_r" into rvc-dev (diff)
downloadandroid_bootable_recovery-7875d824f9632ef7af6a1bbcef76f125cda71c08.tar
android_bootable_recovery-7875d824f9632ef7af6a1bbcef76f125cda71c08.tar.gz
android_bootable_recovery-7875d824f9632ef7af6a1bbcef76f125cda71c08.tar.bz2
android_bootable_recovery-7875d824f9632ef7af6a1bbcef76f125cda71c08.tar.lz
android_bootable_recovery-7875d824f9632ef7af6a1bbcef76f125cda71c08.tar.xz
android_bootable_recovery-7875d824f9632ef7af6a1bbcef76f125cda71c08.tar.zst
android_bootable_recovery-7875d824f9632ef7af6a1bbcef76f125cda71c08.zip
Diffstat (limited to 'updater/install.cpp')
-rw-r--r--updater/install.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/updater/install.cpp b/updater/install.cpp
index 7608dc3cd..afa5195d0 100644
--- a/updater/install.cpp
+++ b/updater/install.cpp
@@ -852,6 +852,20 @@ Value* Tune2FsFn(const char* name, State* state, const std::vector<std::unique_p
return StringValue("t");
}
+Value* AddSlotSuffixFn(const char* name, State* state,
+ const std::vector<std::unique_ptr<Expr>>& argv) {
+ if (argv.size() != 1) {
+ return ErrorAbort(state, kArgsParsingFailure, "%s() expects 1 arg, got %zu", name, argv.size());
+ }
+ std::vector<std::string> args;
+ if (!ReadArgs(state, argv, &args)) {
+ return ErrorAbort(state, kArgsParsingFailure, "%s() Failed to parse the argument(s)", name);
+ }
+ const std::string& arg = args[0];
+ auto updater_runtime = state->updater->GetRuntime();
+ return StringValue(updater_runtime->AddSlotSuffix(arg));
+}
+
void RegisterInstallFunctions() {
RegisterFunction("mount", MountFn);
RegisterFunction("is_mounted", IsMountedFn);
@@ -885,4 +899,6 @@ void RegisterInstallFunctions() {
RegisterFunction("enable_reboot", EnableRebootFn);
RegisterFunction("tune2fs", Tune2FsFn);
+
+ RegisterFunction("add_slot_suffix", AddSlotSuffixFn);
}