Revised the Index handling code.
authorLasse Collin <lasse.collin@tukaani.org>
Thu, 31 Dec 2009 20:45:53 +0000 (22:45 +0200)
committerLasse Collin <lasse.collin@tukaani.org>
Thu, 31 Dec 2009 20:45:53 +0000 (22:45 +0200)
commit1a7ec87c8ee61dfc2e496d2e1fb7ab0939804691
tree3ed5d9cc0c7629c1ca09a5df1d1193b90815cc88
parentf29997a846e673cb3b8cbd57de47ed313b3978bb
Revised the Index handling code.

This breaks API and ABI but most apps are not affected
since most apps don't use this part of the API. You will
get a compile error if you are using anything that got
broken.

Summary of changes:

  - Ability to store Stream Flags, which are needed
    for random-access reading in multi-Stream files.

  - Separate function to set size of Stream Padding.

  - Iterator structure makes it possible to read the same
    lzma_index from multiple threads at the same time.

  - A lot faster code to locate Blocks.

  - Removed lzma_index_equal() without adding anything
    to replace it. I don't know what it should do exactly
    with the new features and what actually needs this
    function in the first place other than test_index.c,
    which now has its own code to compare lzma_indexes.
src/liblzma/api/lzma/index.h
src/liblzma/common/index.c
src/liblzma/common/index.h
src/liblzma/common/index_decoder.c
src/liblzma/common/index_encoder.c
src/liblzma/common/index_encoder.h
src/liblzma/common/stream_buffer_encoder.c
src/liblzma/common/stream_encoder.c
tests/test_index.c