Merge "BuildDataUserCePath always use dir instead of symbolic link" am: fed8ab1d76 am: 7dc93304c8

am: 10211d2207

Change-Id: I8ab5875455abaaa84cc777a96be23cbad314d3f7
gugelfrei
Tom Cherry 7 years ago committed by android-build-merger
commit 3559234cd3

@ -608,15 +608,15 @@ std::string BuildDataMediaCePath(const char* volumeUuid, userid_t userId) {
std::string BuildDataUserCePath(const char* volumeUuid, userid_t userId) {
// TODO: unify with installd path generation logic
std::string data(BuildDataPath(volumeUuid));
if (volumeUuid == nullptr) {
if (userId == 0) {
return StringPrintf("%s/data", data.c_str());
} else {
return StringPrintf("%s/user/%u", data.c_str(), userId);
if (volumeUuid == nullptr && userId == 0) {
std::string legacy = StringPrintf("%s/data", data.c_str());
struct stat sb;
if (lstat(legacy.c_str(), &sb) == 0 && S_ISDIR(sb.st_mode)) {
/* /data/data is dir, return /data/data for legacy system */
return legacy;
}
} else {
return StringPrintf("%s/user/%u", data.c_str(), userId);
}
return StringPrintf("%s/user/%u", data.c_str(), userId);
}
std::string BuildDataUserDePath(const char* volumeUuid, userid_t userId) {

Loading…
Cancel
Save