return lzms_copy_delta_match(ctx, length, power, raw_offset);
}
+/* Decode a LZ or delta match. */
static int
lzms_decode_match(struct lzms_decompressor *ctx)
{
if (ret)
return ret;
- /* Update LRU queues */
lzms_update_lru_queues(&ctx->lru);
return 0;
}
* backwards) */
lzms_input_bitstream_init(&ctx->is, cdata, clen / 2);
- /* Initialize position and length slot bases if not done already. */
- lzms_init_slot_bases();
-
/* Calculate the number of position slots needed for this compressed
* block. */
num_position_slots = lzms_get_position_slot(ulen - 1) + 1;
if (ctx == NULL)
return WIMLIB_ERR_NOMEM;
+ /* Initialize position and length slot bases if not done already. */
+ lzms_init_slot_bases();
+
*ctx_ret = ctx;
return 0;
}