summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--data.cpp14
-rw-r--r--partition.cpp3
2 files changed, 13 insertions, 4 deletions
diff --git a/data.cpp b/data.cpp
index 75d689f0c..3c4e609d4 100644
--- a/data.cpp
+++ b/data.cpp
@@ -831,15 +831,21 @@ int DataManager::GetMagicValue(const string varName, string& value)
}
void DataManager::Output_Version(void) {
- string Path, Command;
+ string Path;
char version[255];
- Path = DataManager::GetSettingsStoragePath();
- if (!PartitionManager.Mount_By_Path(Path, false)) {
+ if (!PartitionManager.Mount_By_Path("/cache", false)) {
LOGI("Unable to mount '%s' to write version number.\n", Path.c_str());
return;
}
- Path += "/TWRP/.version";
+ if (!TWFunc::Path_Exists("/cache/recovery/.")) {
+ LOGI("Recreating /cache/recovery folder.\n");
+ if (mkdir("/cache/recovery", S_IRWXU | S_IRWXG | S_IWGRP | S_IXGRP) != 0) {
+ LOGE("DataManager::Output_Version -- Unable to make /cache/recovery\n");
+ return;
+ }
+ }
+ Path = "/cache/recovery/.version";
if (TWFunc::Path_Exists(Path)) {
unlink(Path.c_str());
}
diff --git a/partition.cpp b/partition.cpp
index b611e2499..14d5e8490 100644
--- a/partition.cpp
+++ b/partition.cpp
@@ -832,6 +832,9 @@ bool TWPartition::Wipe(string New_File_System) {
}
#endif
+ if (Mount_Point == "/cache")
+ DataManager::Output_Version();
+
if (TWFunc::Path_Exists("/.layout_version") && Mount(false))
TWFunc::copy_file("/.layout_version", Layout_Filename, 0600);