From 9d6feb53115e2dcc49a644400da4d62a16c1c3c6 Mon Sep 17 00:00:00 2001 From: Captain Throwback Date: Fri, 27 Jul 2018 10:05:24 -0400 Subject: twrp: use ANDROID_ROOT environment variable instead of hard-coded /system path I updated most of the references I found, but there might be more For devices that have to mount system at /system_root, this allows system to be bind mounted to /system and detected properly by TWRP Change-Id: I9f142fd8cec392f5b88e95476258dab9c21a9aac --- openrecoveryscript.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'openrecoveryscript.cpp') diff --git a/openrecoveryscript.cpp b/openrecoveryscript.cpp index d7e4a2332..86c90a662 100644 --- a/openrecoveryscript.cpp +++ b/openrecoveryscript.cpp @@ -147,8 +147,8 @@ int OpenRecoveryScript::run_script_file(void) { // Wipe if (strcmp(value, "cache") == 0 || strcmp(value, "/cache") == 0) { PartitionManager.Wipe_By_Path("/cache"); - } else if (strcmp(value, "system") == 0 || strcmp(value, "/system") == 0) { - PartitionManager.Wipe_By_Path("/system"); + } else if (strcmp(value, PartitionManager.Get_Android_Root_Path().c_str()) == 0 || strcmp(value, PartitionManager.Get_Android_Root_Path().c_str()) == 0) { + PartitionManager.Wipe_By_Path(PartitionManager.Get_Android_Root_Path()); } else if (strcmp(value, "dalvik") == 0 || strcmp(value, "dalvick") == 0 || strcmp(value, "dalvikcache") == 0 || strcmp(value, "dalvickcache") == 0) { PartitionManager.Wipe_Dalvik_Cache(); } else if (strcmp(value, "data") == 0 || strcmp(value, "/data") == 0 || strcmp(value, "factory") == 0 || strcmp(value, "factoryreset") == 0) { @@ -667,14 +667,14 @@ void OpenRecoveryScript::Run_CLI_Command(const char* command) { int OpenRecoveryScript::remountrw(void) { - bool remount_system = PartitionManager.Is_Mounted_By_Path("/system"); + bool remount_system = PartitionManager.Is_Mounted_By_Path(PartitionManager.Get_Android_Root_Path()); int op_status; TWPartition* Part; - if (!PartitionManager.UnMount_By_Path("/system", true)) { + if (!PartitionManager.UnMount_By_Path(PartitionManager.Get_Android_Root_Path(), true)) { op_status = 1; // fail } else { - Part = PartitionManager.Find_Partition_By_Path("/system"); + Part = PartitionManager.Find_Partition_By_Path(PartitionManager.Get_Android_Root_Path()); if (Part) { DataManager::SetValue("tw_mount_system_ro", 0); Part->Change_Mount_Read_Only(false); -- cgit v1.2.3