diff options
Diffstat (limited to '')
-rw-r--r-- | twrpTar.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/twrpTar.cpp b/twrpTar.cpp index c4600aa4d..159c1d1b9 100644 --- a/twrpTar.cpp +++ b/twrpTar.cpp @@ -122,7 +122,7 @@ int twrpTar::extractTarFork() { int status; pid_t pid; if ((pid = fork()) == -1) { - LOGI("create tar failed to fork.\n"); + LOGI("extract tar failed to fork.\n"); return -1; } if (pid == 0) { @@ -133,7 +133,7 @@ int twrpTar::extractTarFork() { } else { if ((pid = wait(&status)) == -1) { - LOGI("Tar creation failed\n"); + LOGI("Tar extraction failed\n"); return -1; } else { @@ -142,9 +142,9 @@ int twrpTar::extractTarFork() { return -1; } else if (WIFEXITED(status) != 0) - LOGI("Tar creation successful\n"); + LOGI("Tar extraction successful\n"); else { - LOGI("Tar creation failed\n"); + LOGI("Tar extraction failed\n"); return -1; } } @@ -210,6 +210,8 @@ int twrpTar::Generate_Multiple_Archives(string Path) { FileName += de->d_name; if (has_data_media == 1 && FileName.size() >= 11 && strncmp(FileName.c_str(), "/data/media", 11) == 0) continue; // Skip /data/media + if (de->d_type == DT_BLK || de->d_type == DT_CHR) + continue; if (de->d_type == DT_DIR && strcmp(de->d_name, ".") != 0 && strcmp(de->d_name, "..") != 0) { unsigned long long folder_size = TWFunc::Get_Folder_Size(FileName, false); @@ -344,6 +346,8 @@ int twrpTar::tarDirs(bool include_root) { LOGI("adding %s\n", de->d_name); #ifdef RECOVERY_SDCARD_ON_DATA if ((tardir == "/data" || tardir == "/data/") && strcmp(de->d_name, "media") == 0) continue; + if (de->d_type == DT_BLK || de->d_type == DT_CHR) + continue; #endif if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0) continue; |