X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/rsbs2/blobdiff_plain/505ad2546a31319c972b497adc54d6506750833e..3d45f4d10fb15049251ea82876cc70a19a0e0700:/filesystem.c diff --git a/filesystem.c b/filesystem.c index d05361d..175cbc4 100644 --- a/filesystem.c +++ b/filesystem.c @@ -107,7 +107,7 @@ void extract_files(unsigned char *fw, int len) printf("%s: packed file found", lzname); - extract_lz_file(fent->start, (unsigned char*)lzname); + extract_lz_file(fent->start, (unsigned char*)lzname, 0); free(lzname); } else if (!strcmp(fent->name, "firmware")) { unsigned char *lzpos; @@ -121,7 +121,7 @@ void extract_files(unsigned char *fw, int len) lzpos += 4; if (*((unsigned int*)(lzpos)) == LZ_MAGIC) { printf("%s: compressed firmware part found", lzname); - extract_lz_file(lzpos, (unsigned char*)lzname); + extract_lz_file(lzpos, (unsigned char*)lzname, 1); } } } else { @@ -137,6 +137,16 @@ void replace_add_file(unsigned char *fw, int len, char *fwname, char *lname) exit(1); } +void list_files(unsigned char *fw, int len) +{ + struct file_entry *fent; + + for (fent = get_next_file(fw, len); fent != NULL; fent = get_next_file(NULL, 0)) { + printf("0x%x %8d %s\n", fent->unknown, fent->length, fent->name); + } + +} + void mkdir_p(char *dir) { char *copy, *parent;