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 /twrp-functions.cpp | |
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 |
Diffstat (limited to '')
-rw-r--r-- | twrp-functions.cpp | 19 |
1 files changed, 5 insertions, 14 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); } } |