From ec4332f747425859f37641ecd249537efb338a90 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Fri, 20 Sep 2019 17:48:33 +0200 Subject: Move data_reader_dump function out of data reader This commit adds two new functions for getting a file block by index, or a files fragment. The data_reader_dump function is rewritten in terms of those two functions and moved to a seperate file. Signed-off-by: David Oberhollenzer --- unpack/fill_files.c | 2 +- unpack/rdsquashfs.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'unpack') diff --git a/unpack/fill_files.c b/unpack/fill_files.c index de0b676..f98a801 100644 --- a/unpack/fill_files.c +++ b/unpack/fill_files.c @@ -172,7 +172,7 @@ static int fill_files(data_reader_t *data, int flags) if (!(flags & UNPACK_QUIET)) printf("unpacking %s\n", files[i].path); - if (data_reader_dump(data, files[i].inode, fd, + if (data_reader_dump(data, files[i].inode, fd, block_size, (flags & UNPACK_NO_SPARSE) == 0)) { close(fd); return -1; diff --git a/unpack/rdsquashfs.c b/unpack/rdsquashfs.c index 60bfd19..e8ec3ec 100644 --- a/unpack/rdsquashfs.c +++ b/unpack/rdsquashfs.c @@ -102,7 +102,8 @@ int main(int argc, char **argv) goto out; } - if (data_reader_dump(data, n->inode, STDOUT_FILENO, false)) + if (data_reader_dump(data, n->inode, STDOUT_FILENO, + super.block_size, false)) goto out; break; case OP_UNPACK: -- cgit v1.2.3