From 1fad07ce86fc2a506c59501d7fb7c7d7481525f6 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Mon, 7 Oct 2019 13:54:24 +0200 Subject: Rename libsqfshelper to libcommon That is IMO less confusing and express what it is (i.e. what it has become) more clearly, i.e. common code shared by the utilities. Signed-off-by: David Oberhollenzer --- lib/sqfshelper/data_reader_dump.c | 80 --------------------------------------- 1 file changed, 80 deletions(-) delete mode 100644 lib/sqfshelper/data_reader_dump.c (limited to 'lib/sqfshelper/data_reader_dump.c') diff --git a/lib/sqfshelper/data_reader_dump.c b/lib/sqfshelper/data_reader_dump.c deleted file mode 100644 index 140f527..0000000 --- a/lib/sqfshelper/data_reader_dump.c +++ /dev/null @@ -1,80 +0,0 @@ -/* SPDX-License-Identifier: GPL-3.0-or-later */ -/* - * data_reader_dump.c - * - * Copyright (C) 2019 David Oberhollenzer - */ -#include "common.h" -#include "util.h" - -#include -#include -#include -#include - -int sqfs_data_reader_dump(const char *name, sqfs_data_reader_t *data, - const sqfs_inode_generic_t *inode, - int outfd, size_t block_size, bool allow_sparse) -{ - sqfs_block_t *blk; - sqfs_u64 filesz; - size_t i, diff; - int err; - - sqfs_inode_get_file_size(inode, &filesz); - - if (allow_sparse && ftruncate(outfd, filesz)) - goto fail_sparse; - - for (i = 0; i < inode->num_file_blocks; ++i) { - if (SQFS_IS_SPARSE_BLOCK(inode->block_sizes[i]) && - allow_sparse) { - if (filesz < block_size) { - diff = filesz; - filesz = 0; - } else { - diff = block_size; - filesz -= block_size; - } - - if (lseek(outfd, diff, SEEK_CUR) == (off_t)-1) - goto fail_sparse; - } else { - err = sqfs_data_reader_get_block(data, inode, i, &blk); - if (err) { - sqfs_perror(name, "reading data block", err); - return -1; - } - - if (write_data("writing uncompressed block", - outfd, blk->data, blk->size)) { - free(blk); - return -1; - } - - filesz -= blk->size; - free(blk); - } - } - - if (filesz > 0) { - err = sqfs_data_reader_get_fragment(data, inode, &blk); - if (err) { - sqfs_perror(name, "reading fragment block", err); - return -1; - } - - if (write_data("writing uncompressed fragment", outfd, - blk->data, blk->size)) { - free(blk); - return -1; - } - - free(blk); - } - - return 0; -fail_sparse: - perror("creating sparse output file"); - return -1; -} -- cgit v1.2.3