Improve backup & wipe exclusion handling

Rename twrpDU.* to exclude.*
Remove global variable for du and replace with partition specific
variables.
Use separate exclusion lists for backups and wiping.
Clean up some includes
Fix some parenthesis in twrp.cpp that I messed up.

Note: twrpTarMain command line utility compiles but probably does
not work correctly yet due to not properly setting part_settings

Change-Id: Idec9c3e6a8782ba53f3420fa79ba33394f4f85fb
diff --git a/twrpTarMain/Android.mk b/twrpTarMain/Android.mk
index 71b9bcd..f948708 100644
--- a/twrpTarMain/Android.mk
+++ b/twrpTarMain/Android.mk
@@ -8,14 +8,14 @@
 	../twrp-functions.cpp \
 	../twrpTar.cpp \
 	../tarWrite.c \
-	../twrpDU.cpp \
+	../exclude.cpp \
 	../progresstracking.cpp \
 	../gui/twmsg.cpp
 LOCAL_CFLAGS:= -g -c -W -DBUILD_TWRPTAR_MAIN
 
 LOCAL_C_INCLUDES += bionic
 
-LOCAL_STATIC_LIBRARIES := libc libtar_static
+LOCAL_STATIC_LIBRARIES := libc libtar_static libz
 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0)
     LOCAL_C_INCLUDES += external/stlport/stlport bionic/libstdc++/include
     LOCAL_STATIC_LIBRARIES += libstlport_static
@@ -52,13 +52,13 @@
 	../twrp-functions.cpp \
 	../twrpTar.cpp \
 	../tarWrite.c \
-	../twrpDU.cpp \
+	../exclude.cpp \
 	../progresstracking.cpp \
 	../gui/twmsg.cpp
 LOCAL_CFLAGS:= -g -c -W -DBUILD_TWRPTAR_MAIN
 
 LOCAL_C_INCLUDES += bionic
-LOCAL_SHARED_LIBRARIES := libc libtar
+LOCAL_SHARED_LIBRARIES := libc libtar libz
 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0)
     LOCAL_C_INCLUDES += external/stlport/stlport bionic/libstdc++/include
     LOCAL_SHARED_LIBRARIES += libstlport_static
diff --git a/twrpTarMain/twrpTarMain.cpp b/twrpTarMain/twrpTarMain.cpp
index ff35f47..df40426 100644
--- a/twrpTarMain/twrpTarMain.cpp
+++ b/twrpTarMain/twrpTarMain.cpp
@@ -19,14 +19,12 @@
 
 #include "../twrp-functions.hpp"
 #include "../twrpTar.hpp"
-#include "../twrpDU.hpp"
+#include "../exclude.hpp"
 #include "../progresstracking.hpp"
 #include "../gui/gui.hpp"
 #include "../gui/twmsg.h"
 #include <string.h>
 
-twrpDU du;
-
 void gui_msg(const char* text)
 {
 	if (text) {
@@ -166,11 +164,14 @@
 		}
 	}
 
+	TWExclude exclude;
+	exclude.add_absolute_dir("/data/media");
 	tar.has_data_media = has_data_media;
 	tar.setdir(Directory);
 	tar.setfn(Tar_Filename);
-	tar.setsize(du.Get_Folder_Size(Directory));
+	tar.setsize(exclude.Get_Folder_Size(Directory));
 	tar.use_compression = use_compression;
+	tar.backup_exclusions = &exclude;
 #ifndef TW_EXCLUDE_ENCRYPTED_BACKUPS
 	if (userdata_encryption && !use_encryption) {
 		printf("userdata encryption set without encryption option\n");
@@ -186,14 +187,14 @@
 	}
 #endif
 	if (action == 1) {
-		if (tar.createTarFork(&progress, tar_fork_pid) != 0) {
+		if (tar.createTarFork(&tar_fork_pid) != 0) {
 			sync();
 			return -1;
 		}
 		sync();
 		printf("\n\ntar created successfully.\n");
 	} else if (action == 2) {
-		if (tar.extractTarFork(&progress) != 0) {
+		if (tar.extractTarFork() != 0) {
 			sync();
 			return -1;
 		}