aboutsummaryrefslogtreecommitdiff
path: root/src/liblzma/common/delta_decoder.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/liblzma/delta/delta_decoder.c (renamed from src/liblzma/common/delta_decoder.c)21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/liblzma/common/delta_decoder.c b/src/liblzma/delta/delta_decoder.c
index 8f5a4cbf..ee22ba02 100644
--- a/src/liblzma/common/delta_decoder.c
+++ b/src/liblzma/delta/delta_decoder.c
@@ -59,3 +59,24 @@ lzma_delta_decoder_init(lzma_next_coder *next, lzma_allocator *allocator,
{
return lzma_delta_coder_init(next, allocator, filters, &delta_decode);
}
+
+
+extern lzma_ret
+lzma_delta_props_decode(void **options, lzma_allocator *allocator,
+ const uint8_t *props, size_t props_size)
+{
+ if (props_size != 1)
+ return LZMA_HEADER_ERROR;
+
+ lzma_options_delta *opt
+ = lzma_alloc(sizeof(lzma_options_delta), allocator);
+ if (opt == NULL)
+ return LZMA_MEM_ERROR;
+
+ opt->type = LZMA_DELTA_TYPE_BYTE;
+ opt->distance = props[0] + 1;
+
+ *options = opt;
+
+ return LZMA_OK;
+}