From 6e8c27a52b67e3474936113f897f309a0091910a Mon Sep 17 00:00:00 2001 From: Ethan Yonker Date: Thu, 22 Dec 2016 17:55:57 -0600 Subject: Support v2 fstab format Auto detect and support both the v1 and v2 fstab formats Support putting TWRP style flags in a separate /etc/twrp.flags file twrp.flags format is the same as twrp.fstab (v1 with TWRP flags) Support using a wildcard in a block device and find all partitions: /usb-otg vfat /dev/block/sda* Support using sysfs entries (voldmanaged) and read uevents and scan for wildcard partitions from uevent data. (twvold?) May not be complete for some of the newer flags found in fstabs in newer build trees and there is a slim chance of a crash if the user removes a removable device while TWRP is performing actions. May need to add some kind of mutex to prevent the 2 threads from causing this crash. We need to start somewhere though and this change is pretty innocuous when not using a v2 fstab. Change-Id: I617d97c7db332cbe671a9d2b8ad98b3d9c4f03cc --- twrp-functions.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'twrp-functions.hpp') diff --git a/twrp-functions.hpp b/twrp-functions.hpp index 66781bb32..9c149ea18 100644 --- a/twrp-functions.hpp +++ b/twrp-functions.hpp @@ -47,9 +47,9 @@ enum Archive_Type { class TWFunc { public: - static string Get_Root_Path(string Path); // Trims any trailing folders or filenames from the path, also adds a leading / if not present - static string Get_Path(string Path); // Trims everything after the last / in the string - static string Get_Filename(string Path); // Trims the path off of a filename + static string Get_Root_Path(const string& Path); // Trims any trailing folders or filenames from the path, also adds a leading / if not present + static string Get_Path(const string& Path); // Trims everything after the last / in the string + static string Get_Filename(const string& Path); // Trims the path off of a filename static int Exec_Cmd(const string& cmd, string &result); //execute a command and return the result as a string by reference static int Exec_Cmd(const string& cmd); //execute a command @@ -82,7 +82,7 @@ public: static int read_file(string fn, vector& results); //read from file static int read_file(string fn, string& results); //read from file static int read_file(string fn, uint64_t& results); //read from file - static int write_file(string fn, string& line); //write from file + static int write_to_file(const string& fn, const string& line); //write to file static bool Install_SuperSU(void); // Installs su binary and apk and sets proper permissions static bool Try_Decrypting_Backup(string Restore_Path, string Password); // true for success, false for failed to decrypt static string System_Property_Get(string Prop_Name); // Returns value of Prop_Name from reading /system/build.prop -- cgit v1.2.3