diff options
author | Tianjie Xu <xunchang@google.com> | 2019-08-01 00:34:34 +0200 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2019-08-01 00:34:34 +0200 |
commit | c34e4e7fb58d335ed985e561752e300168b1db4c (patch) | |
tree | 2c3f3befcf97039b2670395d18a2f953bc1c70c4 /updater/install.cpp | |
parent | Merge "Create a new function to return the help message for menu" (diff) | |
parent | Simulator: add the argument to keep the updated images (diff) | |
download | android_bootable_recovery-c34e4e7fb58d335ed985e561752e300168b1db4c.tar android_bootable_recovery-c34e4e7fb58d335ed985e561752e300168b1db4c.tar.gz android_bootable_recovery-c34e4e7fb58d335ed985e561752e300168b1db4c.tar.bz2 android_bootable_recovery-c34e4e7fb58d335ed985e561752e300168b1db4c.tar.lz android_bootable_recovery-c34e4e7fb58d335ed985e561752e300168b1db4c.tar.xz android_bootable_recovery-c34e4e7fb58d335ed985e561752e300168b1db4c.tar.zst android_bootable_recovery-c34e4e7fb58d335ed985e561752e300168b1db4c.zip |
Diffstat (limited to 'updater/install.cpp')
-rw-r--r-- | updater/install.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/updater/install.cpp b/updater/install.cpp index c82351ec4..be0ceb06c 100644 --- a/updater/install.cpp +++ b/updater/install.cpp @@ -113,7 +113,7 @@ Value* PackageExtractFileFn(const char* name, State* state, argv.size()); } const std::string& zip_path = args[0]; - const std::string& dest_path = args[1]; + std::string dest_path = args[1]; ZipArchiveHandle za = state->updater->GetPackageHandle(); ZipEntry entry; @@ -122,6 +122,13 @@ Value* PackageExtractFileFn(const char* name, State* state, return StringValue(""); } + // Update the destination of package_extract_file if it's a block device. During simulation the + // destination will map to a fake file. + if (std::string block_device_name = state->updater->FindBlockDeviceName(dest_path); + !block_device_name.empty()) { + dest_path = block_device_name; + } + android::base::unique_fd fd(TEMP_FAILURE_RETRY( open(dest_path.c_str(), O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR))); if (fd == -1) { |