summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTianjie Xu <xunchang@google.com>2017-05-03 19:46:12 +0200
committerandroid-build-merger <android-build-merger@google.com>2017-05-03 19:46:12 +0200
commit03f740ec3d0a4191e46615e961bd9f6bbf64d63c (patch)
tree46b62c20408fe2498c2a7bd6520bdb2b4f466685
parentMerge "Move sysMapFile and sysReleaseMap into MemMapping class." am: fe7eecff4c am: 08d9ede8f2 (diff)
parentMerge "Add a default error code when updater script aborts" am: 89394632b1 (diff)
downloadandroid_bootable_recovery-03f740ec3d0a4191e46615e961bd9f6bbf64d63c.tar
android_bootable_recovery-03f740ec3d0a4191e46615e961bd9f6bbf64d63c.tar.gz
android_bootable_recovery-03f740ec3d0a4191e46615e961bd9f6bbf64d63c.tar.bz2
android_bootable_recovery-03f740ec3d0a4191e46615e961bd9f6bbf64d63c.tar.lz
android_bootable_recovery-03f740ec3d0a4191e46615e961bd9f6bbf64d63c.tar.xz
android_bootable_recovery-03f740ec3d0a4191e46615e961bd9f6bbf64d63c.tar.zst
android_bootable_recovery-03f740ec3d0a4191e46615e961bd9f6bbf64d63c.zip
-rw-r--r--error_code.h1
-rw-r--r--updater/updater.cpp16
2 files changed, 10 insertions, 7 deletions
diff --git a/error_code.h b/error_code.h
index cde4ee6de..0e79c87ca 100644
--- a/error_code.h
+++ b/error_code.h
@@ -24,6 +24,7 @@ enum ErrorCode {
kZipOpenFailure,
kBootreasonInBlacklist,
kPackageCompatibilityFailure,
+ kScriptExecutionFailure,
};
enum CauseCode {
diff --git a/updater/updater.cpp b/updater/updater.cpp
index 749c86a1f..1be8b6040 100644
--- a/updater/updater.cpp
+++ b/updater/updater.cpp
@@ -193,13 +193,15 @@ int main(int argc, char** argv) {
}
}
- if (state.error_code != kNoError) {
- fprintf(cmd_pipe, "log error: %d\n", state.error_code);
- // Cause code should provide additional information about the abort;
- // report only when an error exists.
- if (state.cause_code != kNoCause) {
- fprintf(cmd_pipe, "log cause: %d\n", state.cause_code);
- }
+ // Installation has been aborted. Set the error code to kScriptExecutionFailure unless
+ // a more specific code has been set in errmsg.
+ if (state.error_code == kNoError) {
+ state.error_code = kScriptExecutionFailure;
+ }
+ fprintf(cmd_pipe, "log error: %d\n", state.error_code);
+ // Cause code should provide additional information about the abort.
+ if (state.cause_code != kNoCause) {
+ fprintf(cmd_pipe, "log cause: %d\n", state.cause_code);
}
if (updater_info.package_zip) {