diff options
author | Vojtech Bocek <vbocek@gmail.com> | 2013-02-02 13:22:42 +0100 |
---|---|---|
committer | Vojtech Bocek <vbocek@gmail.com> | 2013-02-02 13:22:42 +0100 |
commit | 2e97ec58b93c933c059928b45066f1cd221f36d1 (patch) | |
tree | 3183980bb0e67fdce6f5ed751b2de9cc83838e1f | |
parent | Merge "2.4.1.0" into twrp2.4 (diff) | |
download | android_bootable_recovery-2e97ec58b93c933c059928b45066f1cd221f36d1.tar android_bootable_recovery-2e97ec58b93c933c059928b45066f1cd221f36d1.tar.gz android_bootable_recovery-2e97ec58b93c933c059928b45066f1cd221f36d1.tar.bz2 android_bootable_recovery-2e97ec58b93c933c059928b45066f1cd221f36d1.tar.lz android_bootable_recovery-2e97ec58b93c933c059928b45066f1cd221f36d1.tar.xz android_bootable_recovery-2e97ec58b93c933c059928b45066f1cd221f36d1.tar.zst android_bootable_recovery-2e97ec58b93c933c059928b45066f1cd221f36d1.zip |
-rw-r--r-- | twrp-functions.cpp | 19 | ||||
-rw-r--r-- | twrp-functions.hpp | 2 |
2 files changed, 6 insertions, 15 deletions
diff --git a/twrp-functions.cpp b/twrp-functions.cpp index 4a5dec273..f2dcf7c64 100644 --- a/twrp-functions.cpp +++ b/twrp-functions.cpp @@ -203,20 +203,17 @@ int TWFunc::Recursive_Mkdir(string Path) { return true; } -unsigned long long TWFunc::Get_Folder_Size(string Path, bool Display_Error) { +unsigned long long TWFunc::Get_Folder_Size(const string& Path, bool Display_Error) { DIR* d; struct dirent* de; struct stat st; - char path2[4096], filename[4096]; unsigned long long dusize = 0; unsigned long long dutemp = 0; - // Make a copy of path in case the data in the pointer gets overwritten later - strcpy(path2, Path.c_str()); - d = opendir(path2); + d = opendir(Path.c_str()); if (d == NULL) { - LOGE("error opening '%s'\n", path2); + LOGE("error opening '%s'\n", Path.c_str()); LOGE("error: %s\n", strerror(errno)); return 0; } @@ -225,19 +222,13 @@ unsigned long long TWFunc::Get_Folder_Size(string Path, bool Display_Error) { { if (de->d_type == DT_DIR && strcmp(de->d_name, ".") != 0 && strcmp(de->d_name, "..") != 0) { - strcpy(filename, path2); - strcat(filename, "/"); - strcat(filename, de->d_name); - dutemp = Get_Folder_Size(filename, Display_Error); + dutemp = Get_Folder_Size((Path + "/" + de->d_name), Display_Error); dusize += dutemp; dutemp = 0; } else if (de->d_type == DT_REG) { - strcpy(filename, path2); - strcat(filename, "/"); - strcat(filename, de->d_name); - stat(filename, &st); + stat((Path + "/" + de->d_name).c_str(), &st); dusize += (unsigned long long)(st.st_size); } } diff --git a/twrp-functions.hpp b/twrp-functions.hpp index 8cd344557..fc2d64787 100644 --- a/twrp-functions.hpp +++ b/twrp-functions.hpp @@ -28,7 +28,7 @@ public: static void htc_dumlock_restore_original_boot(void); // Restores the backup of boot from HTC Dumlock static void htc_dumlock_reflash_recovery_to_boot(void); // Reflashes the current recovery to boot static int Recursive_Mkdir(string Path); // Recursively makes the entire path - static unsigned long long Get_Folder_Size(string Path, bool Display_Error); // Gets the size of a folder and all of its subfolders using dirent and stat + static unsigned long long Get_Folder_Size(const string& Path, bool Display_Error); // Gets the size of a folder and all of its subfolders using dirent and stat static bool Path_Exists(string Path); // Returns true if the path exists static void GUI_Operation_Text(string Read_Value, string Default_Text); // Updates text for display in the GUI, e.g. Backing up %partition name% static void GUI_Operation_Text(string Read_Value, string Partition_Name, string Default_Text); // Same as above but includes partition name |