Modernize compress and decompress

This commit is contained in:
topjohnwu
2019-02-20 20:49:26 -05:00
parent 86d8026301
commit e59c5c8780
7 changed files with 192 additions and 180 deletions

View File

@@ -10,10 +10,7 @@
#include <flags.h>
#include "magiskboot.h"
/********************
Patch Boot Image
*********************/
#include "compress.h"
static void usage(char *arg0) {
fprintf(stderr,
@@ -137,24 +134,19 @@ int main(int argc, char *argv[]) {
} else if (argc > 2 && strcmp(argv[1], "--unpack") == 0) {
return unpack(argv[2]);
} else if (argc > 2 && strcmp(argv[1], "--repack") == 0) {
repack(argv[2], argc > 3 ? argv[3] : NEW_BOOT);
repack(argv[2], argv[3] ? argv[3] : NEW_BOOT);
} else if (argc > 2 && strcmp(argv[1], "--decompress") == 0) {
decompress(argv[2], argc > 3 ? argv[3] : nullptr);
decompress(argv[2], argv[3]);
} else if (argc > 2 && strncmp(argv[1], "--compress", 10) == 0) {
const char *method;
method = strchr(argv[1], '=');
if (method == nullptr) method = "gzip";
else method++;
compress(method, argv[2], argc > 3 ? argv[3] : nullptr);
compress(argv[1][10] == '=' ? &argv[1][11] : "gzip", argv[2], argv[3]);
} else if (argc > 4 && strcmp(argv[1], "--hexpatch") == 0) {
hexpatch(argv[2], argv[3], argv[4]);
} else if (argc > 2 && strcmp(argv[1], "--cpio") == 0) {
if (cpio_commands(argc - 2, argv + 2)) usage(argv[0]);
} else if (argc > 2 && strncmp(argv[1], "--dtb", 5) == 0) {
char *cmd = argv[1] + 5;
if (*cmd == '\0') usage(argv[0]);
else ++cmd;
if (dtb_commands(cmd, argc - 2, argv + 2))
if (argv[1][5] != '-')
usage(argv[0]);
if (dtb_commands(&argv[1][6], argc - 2, argv + 2))
usage(argv[0]);
} else {
usage(argv[0]);