From e4bdb15a5f6b0894b46fd34ad7b1a3093d6a102c Mon Sep 17 00:00:00 2001 From: bigbiff bigbiff Date: Sat, 23 Mar 2019 18:33:17 -0400 Subject: AB Cache dir: If device doesn't have /data/cache for FBE, we should try /persist if in the fstab. Change-Id: I70dd19538b7f9b8cf61c46f6c8167057eec3342b --- data.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'data.cpp') diff --git a/data.cpp b/data.cpp index cf9dd2476..92255357c 100755 --- a/data.cpp +++ b/data.cpp @@ -1043,6 +1043,11 @@ void DataManager::Output_Version(void) char version[255]; std::string cacheDir = TWFunc::get_cache_dir(); + if (cacheDir.empty()) { + LOGINFO("Unable to find cache directory\n"); + return; + } + std::string recoveryCacheDir = cacheDir + "recovery/"; if (cacheDir == NON_AB_CACHE_DIR) { @@ -1053,7 +1058,7 @@ void DataManager::Output_Version(void) } if (!TWFunc::Path_Exists(recoveryCacheDir)) { LOGINFO("Recreating %s folder.\n", recoveryCacheDir.c_str()); - if (mkdir(recoveryCacheDir.c_str(), S_IRWXU | S_IRWXG | S_IWGRP | S_IXGRP) != 0) { + if (!TWFunc::Create_Dir_Recursive(recoveryCacheDir.c_str(), S_IRWXU | S_IRWXG | S_IWGRP | S_IXGRP, 0, 0)) { LOGERR("DataManager::Output_Version -- Unable to make %s: %s\n", recoveryCacheDir.c_str(), strerror(errno)); return; } -- cgit v1.2.3