Fix skipping of relative paths and lost+found in twrpDU
Change-Id: Ib79029fd6237502338b041a6bc2f9e539536d6ad
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
diff --git a/twrpTar.cpp b/twrpTar.cpp
index a31fe12..c024821 100644
--- a/twrpTar.cpp
+++ b/twrpTar.cpp
@@ -124,10 +124,7 @@
continue; // Skip /data/media
if (de->d_type == DT_BLK || de->d_type == DT_CHR)
continue;
- bool skip_dir = false;
- string dir(de->d_name);
- skip_dir = du.check_skip_dirs(dir);
- if (de->d_type == DT_DIR && !skip_dir) {
+ if (de->d_type == DT_DIR && !du.check_skip_dirs(tardir, de->d_name)) {
item_len = strlen(de->d_name);
if (userdata_encryption && ((item_len >= 3 && strncmp(de->d_name, "app", 3) == 0) || (item_len >= 6 && strncmp(de->d_name, "dalvik", 6) == 0))) {
if (Generate_TarList(FileName, &RegularList, &target_size, ®ular_thread_id) < 0) {
@@ -171,10 +168,7 @@
continue; // Skip /data/media
if (de->d_type == DT_BLK || de->d_type == DT_CHR)
continue;
- bool skip_dir = false;
- string dir(de->d_name);
- skip_dir = du.check_skip_dirs(dir);
- if (de->d_type == DT_DIR && !skip_dir) {
+ if (de->d_type == DT_DIR && !du.check_skip_dirs(tardir, de->d_name)) {
item_len = strlen(de->d_name);
if (userdata_encryption && ((item_len >= 3 && strncmp(de->d_name, "app", 3) == 0) || (item_len >= 6 && strncmp(de->d_name, "dalvik", 6) == 0))) {
// Do nothing, we added these to RegularList earlier
@@ -485,10 +479,7 @@
continue;
TarItem.fn = FileName;
TarItem.thread_id = *thread_id;
- bool skip_dir = false;
- string dir(de->d_name);
- skip_dir = du.check_skip_dirs(dir);
- if (de->d_type == DT_DIR && !skip_dir) {
+ if (de->d_type == DT_DIR && !du.check_skip_dirs(Path, de->d_name)) {
TarList->push_back(TarItem);
if (Generate_TarList(FileName, TarList, Target_Size, thread_id) < 0)
return -1;