On Wed, Apr 02, 2008, Per Øyvind Karlsen wrote:
> [...]
> update to latest lzma sdk (4.40)
Err... as I mentioned in INSTALL:
[4] lzma: RPM has a copy of the LZMA SDK 4.32 (and which is identical to the version in
LZMA SDK 4.57 except for portability adjustments) decompression routines bundled,
but for compression the external command line interface lzma(1) is required.
You need either LZMA Utils (recommended) or LZMA SDK and the lzmash wrapper.
And your copy over of the 4.40 code destroyed some cleanups we had
already applied:
> [...]
> - propsRes->DictionarySize += (UInt32)(propsData[1 + i]) << (i * 8U);
> + propsRes->DictionarySize += (UInt32)(propsData[1 + i]) << (i * 8);
> if (propsRes->DictionarySize == 0)
> propsRes->DictionarySize = 1;
> }
> @@ -170,7 +168,7 @@
> {
> CProb *p = vs->Probs;
> SizeT nowPos = 0;
> - Byte previousByte = '\0';
> + Byte previousByte = 0;
> UInt32 posStateMask = (1 << (vs->Properties.pb)) - 1;
> UInt32 literalPosMask = (1 << (vs->Properties.lp)) - 1;
> int lc = vs->Properties.lc;
> @@ -224,7 +222,7 @@
> globalPos = 0;
> distanceLimit = 0;
> dictionaryPos = 0;
> - dictionary[dictionarySize - 1] = (Byte)0;
> + dictionary[dictionarySize - 1] = 0;
> [...]
etc. Additionally, you broke the snapshots because LzmaTypes.h was
introduced (previously it was embedded in the code). Hmmm... IMHO this
was a NO-OP semantically and just broke many things? Can we backout and
keep the code we had before? As I mentioned in INSTALL, just a few days
ago I reviewed the code against 4.57 and it is identical except for our
already applied fixes. But with the now overwritten code we lost those
cleanups.
Ralf S. Engelschall
rse@engelschall.com
www.engelschall.com
Received on Wed Apr 2 10:11:55 2008