summaryrefslogtreecommitdiffstats
path: root/recovery.cpp
diff options
context:
space:
mode:
authorTao Bao <tbao@google.com>2016-09-26 20:39:14 +0200
committerTao Bao <tbao@google.com>2016-09-27 07:10:07 +0200
commita8c0d0b43a2f46afeada2bf0960232b4b0890b07 (patch)
tree23b3780c79e732daccd802ecd305e86280ca2f2e /recovery.cpp
parentCheck corruption when reading uncrypt_status file (diff)
downloadandroid_bootable_recovery-a8c0d0b43a2f46afeada2bf0960232b4b0890b07.tar
android_bootable_recovery-a8c0d0b43a2f46afeada2bf0960232b4b0890b07.tar.gz
android_bootable_recovery-a8c0d0b43a2f46afeada2bf0960232b4b0890b07.tar.bz2
android_bootable_recovery-a8c0d0b43a2f46afeada2bf0960232b4b0890b07.tar.lz
android_bootable_recovery-a8c0d0b43a2f46afeada2bf0960232b4b0890b07.tar.xz
android_bootable_recovery-a8c0d0b43a2f46afeada2bf0960232b4b0890b07.tar.zst
android_bootable_recovery-a8c0d0b43a2f46afeada2bf0960232b4b0890b07.zip
Diffstat (limited to 'recovery.cpp')
-rw-r--r--recovery.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/recovery.cpp b/recovery.cpp
index ccb2d223b..0f0b978e7 100644
--- a/recovery.cpp
+++ b/recovery.cpp
@@ -1429,15 +1429,18 @@ static bool bootreason_in_blacklist() {
}
static void log_failure_code(ErrorCode code, const char *update_package) {
- FILE* install_log = fopen_path(TEMPORARY_INSTALL_FILE, "w");
- if (install_log != nullptr) {
- fprintf(install_log, "%s\n", update_package);
- fprintf(install_log, "0\n");
- fprintf(install_log, "error: %d\n", code);
- fclose(install_log);
- } else {
- LOGE("failed to open last_install: %s\n", strerror(errno));
+ std::vector<std::string> log_buffer = {
+ update_package,
+ "0", // install result
+ "error: " + std::to_string(code),
+ };
+ std::string log_content = android::base::Join(log_buffer, "\n");
+ if (!android::base::WriteStringToFile(log_content, TEMPORARY_INSTALL_FILE)) {
+ LOGE("failed to write %s: %s\n", TEMPORARY_INSTALL_FILE, strerror(errno));
}
+
+ // Also write the info into last_log.
+ LOGI("%s\n", log_content.c_str());
}
static ssize_t logbasename(