diff options
author | Tianjie Xu <xunchang@google.com> | 2017-07-20 01:12:20 +0200 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-07-20 01:12:20 +0200 |
commit | f2a279adb556649d41cd7750e22be1cc6bce62e5 (patch) | |
tree | c742e5f7fe9b9cd3232aefdcb408b763f519e0d1 /recovery-persist.cpp | |
parent | Merge "Fix the missing char when showing recovery logs." am: 8155a8ba74 am: c61bbe158e (diff) | |
parent | Merge "Fix the android-cloexec-* warnings in bootable/recovery" am: 94a8ea1797 (diff) | |
download | android_bootable_recovery-f2a279adb556649d41cd7750e22be1cc6bce62e5.tar android_bootable_recovery-f2a279adb556649d41cd7750e22be1cc6bce62e5.tar.gz android_bootable_recovery-f2a279adb556649d41cd7750e22be1cc6bce62e5.tar.bz2 android_bootable_recovery-f2a279adb556649d41cd7750e22be1cc6bce62e5.tar.lz android_bootable_recovery-f2a279adb556649d41cd7750e22be1cc6bce62e5.tar.xz android_bootable_recovery-f2a279adb556649d41cd7750e22be1cc6bce62e5.tar.zst android_bootable_recovery-f2a279adb556649d41cd7750e22be1cc6bce62e5.zip |
Diffstat (limited to '')
-rw-r--r-- | recovery-persist.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/recovery-persist.cpp b/recovery-persist.cpp index d706ccac8..dbce7ff74 100644 --- a/recovery-persist.cpp +++ b/recovery-persist.cpp @@ -59,21 +59,21 @@ static void check_and_fclose(FILE *fp, const char *name) { } static void copy_file(const char* source, const char* destination) { - FILE* dest_fp = fopen(destination, "w"); - if (dest_fp == nullptr) { - PLOG(ERROR) << "Can't open " << destination; - } else { - FILE* source_fp = fopen(source, "r"); - if (source_fp != nullptr) { - char buf[4096]; - size_t bytes; - while ((bytes = fread(buf, 1, sizeof(buf), source_fp)) != 0) { - fwrite(buf, 1, bytes, dest_fp); - } - check_and_fclose(source_fp, source); - } - check_and_fclose(dest_fp, destination); + FILE* dest_fp = fopen(destination, "we"); + if (dest_fp == nullptr) { + PLOG(ERROR) << "Can't open " << destination; + } else { + FILE* source_fp = fopen(source, "re"); + if (source_fp != nullptr) { + char buf[4096]; + size_t bytes; + while ((bytes = fread(buf, 1, sizeof(buf), source_fp)) != 0) { + fwrite(buf, 1, bytes, dest_fp); + } + check_and_fclose(source_fp, source); } + check_and_fclose(dest_fp, destination); + } } static bool rotated = false; @@ -120,7 +120,7 @@ int main(int argc, char **argv) { */ bool has_cache = false; static const char mounts_file[] = "/proc/mounts"; - FILE *fp = fopen(mounts_file, "r"); + FILE* fp = fopen(mounts_file, "re"); if (!fp) { PLOG(ERROR) << "failed to open " << mounts_file; } else { |