summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDees_Troy <dees_troy@teamw.in>2013-07-03 21:55:19 +0200
committerDees_Troy <dees_troy@teamw.in>2013-07-03 21:55:35 +0200
commitd93bda5916b2466b3e9b4123f7da7c6fb298daa4 (patch)
tree99d8b7817bf3fe3f525a2aabcaca53569c84485a
parentupdate to newest exfat changes (diff)
downloadandroid_bootable_recovery-d93bda5916b2466b3e9b4123f7da7c6fb298daa4.tar
android_bootable_recovery-d93bda5916b2466b3e9b4123f7da7c6fb298daa4.tar.gz
android_bootable_recovery-d93bda5916b2466b3e9b4123f7da7c6fb298daa4.tar.bz2
android_bootable_recovery-d93bda5916b2466b3e9b4123f7da7c6fb298daa4.tar.lz
android_bootable_recovery-d93bda5916b2466b3e9b4123f7da7c6fb298daa4.tar.xz
android_bootable_recovery-d93bda5916b2466b3e9b4123f7da7c6fb298daa4.tar.zst
android_bootable_recovery-d93bda5916b2466b3e9b4123f7da7c6fb298daa4.zip
-rw-r--r--data.cpp2
-rw-r--r--partitionmanager.cpp24
-rw-r--r--partitions.hpp1
-rw-r--r--variables.h2
4 files changed, 27 insertions, 2 deletions
diff --git a/data.cpp b/data.cpp
index 5fa68144a..65f706ed3 100644
--- a/data.cpp
+++ b/data.cpp
@@ -1044,6 +1044,8 @@ void DataManager::Output_Version(void) {
strcpy(version, TW_VERSION_STR);
fwrite(version, sizeof(version[0]), strlen(version) / sizeof(version[0]), fp);
fclose(fp);
+ TWFunc::copy_file("/etc/recovery.fstab", "/cache/recovery/recovery.fstab", 0644);
+ PartitionManager.Output_Storage_Fstab();
sync();
LOGINFO("Version number saved to '%s'\n", Path.c_str());
}
diff --git a/partitionmanager.cpp b/partitionmanager.cpp
index dd2dfd2c4..fc76c1ada 100644
--- a/partitionmanager.cpp
+++ b/partitionmanager.cpp
@@ -245,7 +245,7 @@ int TWPartitionManager::Mount_By_Path(string Path, bool Display_Error) {
bool found = false;
string Local_Path = TWFunc::Get_Root_Path(Path);
- if (Local_Path == "/tmp")
+ if (Local_Path == "/tmp" || Local_Path == "/")
return true;
// Iterate through all partitions
@@ -1869,3 +1869,25 @@ void TWPartitionManager::Get_Partition_List(string ListType, std::vector<Partiti
int TWPartitionManager::Fstab_Processed(void) {
return Partitions.size();
}
+
+void TWPartitionManager::Output_Storage_Fstab(void) {
+ std::vector<TWPartition*>::iterator iter;
+ char storage_partition[255];
+ string Temp;
+ FILE *fp = fopen("/cache/recovery/storage.fstab", "w");
+
+ if (fp == NULL) {
+ LOGERR("Unable to open '/cache/recovery/storage.fstab'.\n");
+ return;
+ }
+
+ // Iterate through all partitions
+ for (iter = Partitions.begin(); iter != Partitions.end(); iter++) {
+ if ((*iter)->Is_Storage) {
+ Temp = (*iter)->Storage_Path + ";" + (*iter)->Storage_Name + ";\n";
+ strcpy(storage_partition, Temp.c_str());
+ fwrite(storage_partition, sizeof(storage_partition[0]), strlen(storage_partition) / sizeof(storage_partition[0]), fp);
+ }
+ }
+ fclose(fp);
+} \ No newline at end of file
diff --git a/partitions.hpp b/partitions.hpp
index 3ed4da6ae..efe08d760 100644
--- a/partitions.hpp
+++ b/partitions.hpp
@@ -210,6 +210,7 @@ public:
virtual int Fix_Permissions();
virtual void Get_Partition_List(string ListType, std::vector<PartitionList> *Partition_List);
virtual int Fstab_Processed(); // Indicates if the fstab has been processed or not
+ virtual void Output_Storage_Fstab(); // Creates a /cache/recovery/storage.fstab file with a list of all potential storage locations for app use
private:
bool Make_MD5(bool generate_md5, string Backup_Folder, string Backup_Filename); // Generates an MD5 after a backup is made
diff --git a/variables.h b/variables.h
index ddae2af95..4020b7599 100644
--- a/variables.h
+++ b/variables.h
@@ -17,7 +17,7 @@
#ifndef _VARIABLES_HEADER_
#define _VARIABLES_HEADER_
-#define TW_VERSION_STR "2.5.0.0"
+#define TW_VERSION_STR "2.6.0.0"
#define TW_USE_COMPRESSION_VAR "tw_use_compression"
#define TW_FILENAME "tw_filename"