Cabextract offered to WINE under LGPL..

Ender winedev at
Fri Nov 8 20:12:34 CST 2002

There you go, now who wants to look into merging cabextract with WINE?

It'll be useful for at least three things:

 - Remove external dependency in urlmon (dlls/urlmon/umon.c)
 - Implement advapi32:ExtractFiles and fix dlls/setupapi/queue.c
 - Implement cabinet.dll
 - Probably some other misc cabinet functions here and there
 - CHM viewer (in the future)

I don't think it would be too hard to merge the 0.7 changes into any
merging work done with 0.6, so I wouldn't think it necessary to hold out
until then. The only major bug he mentions is fixed by simply changing
scope of a variable, so.... :)

 - Ender

---------- Forwarded message ----------
Date: Wed, 06 Nov 2002 12:37:51 +0000
From: Stuart Caie <kyzer at>
To: "J.Brown (Ender/Amigo)" <ender at>
Subject: Re: cabextract licensing

Hello J.Brown

On 01-Nov-02, you wrote:

> Quick question - would it be possible for you to release/give permission
> to use the cabextract code under the LGPL? That would allow it's
> integration into WINE, and make things a lot easier for WINE..

Sure, I donate to the WINE project the current cabextract 0.6 code (and next
release, 0.7, when it is out) for all uses under the LGPL.

Just a few technical things:

- as it says in the code, cabextract is not a library. It doesn't bother
freeing memory except for the 2MB LZX/QTM windows between folders. You'll
have to handle memory freeing yourself :)

- further, there is a real bug in 0.6: when an LZX or QTM folder follows a
ZIP folder, the LZX(window) and QTM(window) pointer in the methods union
will be muddied by ZIP state data and will be non-zero and therefore
assumed to be valid window pointers. They're not (they're random ZIP
state), so it segfaults. To fix this now, remove the "window" field from
LZXstate and QTMstate, and put it in the general decomp_state, then change
all references of LZX(window) and QTM(window) to CAB(window).

- there are also some minor bugs that you'll see fixed in 0.7 (which is why
I gifted you this one as well)

If you have any other questions, feel free to ask!

Stuart Kyzer Caie -- kyzer at    ICQ: 45612337

the golden rule; he who has the gold, makes the rules.

More information about the wine-devel mailing list