X-Git-Url: http://git.ozo.com/?a=blobdiff_plain;f=package%2Futils%2Ffritz-tools%2Fsrc%2Ffritz_tffs_read.c;h=d1b3038e63a9333c638d1acd6f7a988b20d39ce4;hb=7e128632522988513c90e5fda44e6aab5b9f21cf;hp=f367e02e04778bcce1d046556048b66b4339a5de;hpb=8b3fa168b49a4aad5797ef5083c17c348d99731b;p=lede-git%2F.git diff --git a/package/utils/fritz-tools/src/fritz_tffs_read.c b/package/utils/fritz-tools/src/fritz_tffs_read.c index f367e02e04..d1b3038e63 100644 --- a/package/utils/fritz-tools/src/fritz_tffs_read.c +++ b/package/utils/fritz-tools/src/fritz_tffs_read.c @@ -36,14 +36,12 @@ #include #include -#define DEFAULT_TFFS_SIZE (256 * 1024) - #define TFFS_ID_END 0xffff #define TFFS_ID_TABLE_NAME 0x01ff static char *progname; static char *input_file; -static unsigned long tffs_size = DEFAULT_TFFS_SIZE; +static unsigned long tffs_size; static char *name_filter = NULL; static bool show_all = false; static bool print_all_key_names = false; @@ -259,7 +257,7 @@ static void parse_options(int argc, char *argv[]) { int c; - c = getopt(argc, argv, "abhi:ln:s"); + c = getopt(argc, argv, "abhi:ln:s:"); if (c == -1) break; @@ -334,6 +332,12 @@ int main(int argc, char *argv[]) goto out; } + if (tffs_size == 0) { + fseek(fp, 0L, SEEK_END); + tffs_size = ftell(fp); + fseek(fp, 0L, SEEK_SET); + } + buffer = malloc(tffs_size); if (fread(buffer, 1, tffs_size, fp) != tffs_size) {