summaryrefslogtreecommitdiff
path: root/unpack
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2019-09-20 17:48:33 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2019-09-20 18:34:17 +0200
commitec4332f747425859f37641ecd249537efb338a90 (patch)
tree9a5765fc0a9c2322c3aaf5718cdec9a653896e3d /unpack
parentec70d9ffa6913c6643d25f9115830fd89b6ddfa7 (diff)
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 <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'unpack')
-rw-r--r--unpack/fill_files.c2
-rw-r--r--unpack/rdsquashfs.c3
2 files changed, 3 insertions, 2 deletions
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: