summaryrefslogtreecommitdiff
path: root/lib/comp/xz.c
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2019-05-06 12:09:56 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2019-05-06 12:15:44 +0200
commitd5068781ec2528f88aaa92fbc9a5b9c256d53499 (patch)
tree8eac6ec1a02f12e71ec97b1cf66113f37df6d508 /lib/comp/xz.c
parentcbcf86dde27767682483985e42f7ca49e1d3a208 (diff)
Implement reading and writing of compressor options
- gensquashfs simply asks the backend compressor to write its options to the file and does accounting - rdsquasfs simply asks the backend compressor to transparentyl snort the options from the file - not implemented in any compressor backend yet Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'lib/comp/xz.c')
-rw-r--r--lib/comp/xz.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/comp/xz.c b/lib/comp/xz.c
index 98d740c..dd608ba 100644
--- a/lib/comp/xz.c
+++ b/lib/comp/xz.c
@@ -12,6 +12,21 @@ typedef struct {
size_t block_size;
} xz_compressor_t;
+static int xz_write_options(compressor_t *base, int fd)
+{
+ (void)base;
+ (void)fd;
+ return 0;
+}
+
+static int xz_read_options(compressor_t *base, int fd)
+{
+ (void)base;
+ (void)fd;
+ fputs("xz extra options are not yet implemented\n", stderr);
+ return -1;
+}
+
static ssize_t xz_comp_block(compressor_t *base, const uint8_t *in,
size_t size, uint8_t *out, size_t outsize)
{
@@ -86,5 +101,7 @@ compressor_t *create_xz_compressor(bool compress, size_t block_size)
xz->block_size = block_size;
base->destroy = xz_destroy;
base->do_block = compress ? xz_comp_block : xz_uncomp_block;
+ base->write_options = xz_write_options;
+ base->read_options = xz_read_options;
return base;
}