Add libtar to TWRP instead of using busybox tar
Add proper mkdosfs tool
Add fuse to TWRP
Add experimental exfat-fuse to TWRP
Convert all system() functions to use new Exec_Cmd function
diff --git a/openrecoveryscript.cpp b/openrecoveryscript.cpp
index 47bf5d6..1472149 100644
--- a/openrecoveryscript.cpp
+++ b/openrecoveryscript.cpp
@@ -47,8 +47,6 @@
 #define SCRIPT_COMMAND_SIZE 512
 
 int OpenRecoveryScript::check_for_script_file(void) {
-	char exec[512];
-
 	if (!PartitionManager.Mount_By_Path(SCRIPT_FILE_CACHE, false)) {
 		LOGE("Unable to mount /cache for OpenRecoveryScript support.\n");
 		return 0;
@@ -56,15 +54,9 @@
 	if (TWFunc::Path_Exists(SCRIPT_FILE_CACHE)) {
 		LOGI("Script file found: '%s'\n", SCRIPT_FILE_CACHE);
 		// Copy script file to /tmp
-		strcpy(exec, "cp ");
-		strcat(exec, SCRIPT_FILE_CACHE);
-		strcat(exec, " ");
-		strcat(exec, SCRIPT_FILE_TMP);
-		system(exec);
+		TWFunc::copy_file(SCRIPT_FILE_CACHE, SCRIPT_FILE_TMP, 0755);
 		// Delete the file from /cache
-		strcpy(exec, "rm ");
-		strcat(exec, SCRIPT_FILE_CACHE);
-		system(exec);
+		unlink(SCRIPT_FILE_CACHE);
 		return 1;
 	}
 	return 0;
@@ -329,7 +321,8 @@
 				// Reboot
 			} else if (strcmp(command, "cmd") == 0) {
 				if (cindex != 0) {
-					system(value);
+					string status;
+					TWFunc::Exec_Cmd(value, status);
 				} else {
 					LOGE("No value given for cmd\n");
 				}
@@ -347,13 +340,14 @@
 		return 1;
 	}
 	if (install_cmd && DataManager_GetIntValue(TW_HAS_INJECTTWRP) == 1 && DataManager_GetIntValue(TW_INJECT_AFTER_ZIP) == 1) {
+		string status;
 		ui_print("Injecting TWRP into boot image...\n");
 		TWPartition* Boot = PartitionManager.Find_Partition_By_Path("/boot");
 		if (Boot == NULL || Boot->Current_File_System != "emmc")
-			system("injecttwrp --dump /tmp/backup_recovery_ramdisk.img /tmp/injected_boot.img --flash");
+			TWFunc::Exec_Cmd("injecttwrp --dump /tmp/backup_recovery_ramdisk.img /tmp/injected_boot.img --flash", status);
 		else {
 			string injectcmd = "injecttwrp --dump /tmp/backup_recovery_ramdisk.img /tmp/injected_boot.img --flash bd=" + Boot->Actual_Block_Device;
-			system(injectcmd.c_str());
+			TWFunc::Exec_Cmd(injectcmd.c_str(), status);
 		}
 		ui_print("TWRP injection complete.\n");
 	}