summaryrefslogtreecommitdiffstats
path: root/recovery.cpp
diff options
context:
space:
mode:
authorTao Bao <tbao@google.com>2017-07-23 09:01:02 +0200
committerTao Bao <tbao@google.com>2017-07-27 19:33:07 +0200
commitac3d1edca0ea91a192c3a9d52efbc439702e9cae (patch)
tree8c7457049a412ddd565103f8d48557adadf17f0c /recovery.cpp
parentMerge "Remove LOCAL_CLANG" (diff)
downloadandroid_bootable_recovery-ac3d1edca0ea91a192c3a9d52efbc439702e9cae.tar
android_bootable_recovery-ac3d1edca0ea91a192c3a9d52efbc439702e9cae.tar.gz
android_bootable_recovery-ac3d1edca0ea91a192c3a9d52efbc439702e9cae.tar.bz2
android_bootable_recovery-ac3d1edca0ea91a192c3a9d52efbc439702e9cae.tar.lz
android_bootable_recovery-ac3d1edca0ea91a192c3a9d52efbc439702e9cae.tar.xz
android_bootable_recovery-ac3d1edca0ea91a192c3a9d52efbc439702e9cae.tar.zst
android_bootable_recovery-ac3d1edca0ea91a192c3a9d52efbc439702e9cae.zip
Diffstat (limited to '')
-rw-r--r--recovery.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/recovery.cpp b/recovery.cpp
index 8f3e9bdea..233e56246 100644
--- a/recovery.cpp
+++ b/recovery.cpp
@@ -178,19 +178,19 @@ struct selabel_handle* sehandle;
* 7b. the user reboots (pulling the battery, etc) into the main system
*/
-// open a given path, mounting partitions as necessary
-FILE* fopen_path(const char *path, const char *mode) {
- if (ensure_path_mounted(path) != 0) {
- LOG(ERROR) << "Can't mount " << path;
- return NULL;
- }
-
- // When writing, try to create the containing directory, if necessary.
- // Use generous permissions, the system (init.rc) will reset them.
- if (strchr("wa", mode[0])) dirCreateHierarchy(path, 0777, NULL, 1, sehandle);
+// Open a given path, mounting partitions as necessary.
+FILE* fopen_path(const char* path, const char* mode) {
+ if (ensure_path_mounted(path) != 0) {
+ LOG(ERROR) << "Can't mount " << path;
+ return nullptr;
+ }
- FILE *fp = fopen(path, mode);
- return fp;
+ // When writing, try to create the containing directory, if necessary. Use generous permissions,
+ // the system (init.rc) will reset them.
+ if (strchr("wa", mode[0])) {
+ mkdir_recursively(path, 0777, true, sehandle);
+ }
+ return fopen(path, mode);
}
// close a file, log an error if the error indicator is set
@@ -593,7 +593,7 @@ static bool erase_volume(const char* volume) {
if (is_cache) {
// Re-create the log dir and write back the log entries.
if (ensure_path_mounted(CACHE_LOG_DIR) == 0 &&
- dirCreateHierarchy(CACHE_LOG_DIR, 0777, nullptr, false, sehandle) == 0) {
+ mkdir_recursively(CACHE_LOG_DIR, 0777, false, sehandle) == 0) {
for (const auto& log : log_files) {
if (!android::base::WriteStringToFile(log.data, log.name, log.sb.st_mode, log.sb.st_uid,
log.sb.st_gid)) {