summaryrefslogtreecommitdiffstats
path: root/twrp-functions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'twrp-functions.cpp')
-rw-r--r--twrp-functions.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/twrp-functions.cpp b/twrp-functions.cpp
index c50290df4..4551e84b4 100644
--- a/twrp-functions.cpp
+++ b/twrp-functions.cpp
@@ -274,6 +274,31 @@ unsigned long TWFunc::Get_File_Size(string Path) {
return st.st_size;
}
+std::string TWFunc::Remove_Trailing_Slashes(const std::string& path, bool leaveLast)
+{
+ std::string res;
+ size_t last_idx = 0, idx = 0;
+
+ while(last_idx != std::string::npos)
+ {
+ if(last_idx != 0)
+ res += '/';
+
+ idx = path.find_first_of('/', last_idx);
+ if(idx == std::string::npos) {
+ res += path.substr(last_idx, idx);
+ break;
+ }
+
+ res += path.substr(last_idx, idx-last_idx);
+ last_idx = path.find_first_not_of('/', idx);
+ }
+
+ if(leaveLast)
+ res += '/';
+ return res;
+}
+
#ifndef BUILD_TWRPTAR_MAIN
// Returns "/path" from a full /path/to/file.name