]> wimlib.net Git - wimlib/blobdiff - src/lzms-decompress.c
Update LZMS compressor
[wimlib] / src / lzms-decompress.c
index f2fcb60ebcd94b10f78c02207df6ec9926e50dcb..83629008cea3aea19287bde073a7227f5ea629f5 100644 (file)
@@ -795,6 +795,7 @@ lzms_decode_delta_match(struct lzms_decompressor *ctx)
        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)
 {
@@ -831,7 +832,6 @@ lzms_decode_item(struct lzms_decompressor *ctx)
        if (ret)
                return ret;
 
-       /* Update LRU queues  */
         lzms_update_lru_queues(&ctx->lru);
        return 0;
 }
@@ -886,9 +886,6 @@ lzms_init_decompressor(struct lzms_decompressor *ctx,
         * 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;
@@ -1034,6 +1031,9 @@ lzms_create_decompressor(size_t max_block_size,
        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;
 }