
On Monday 27 April 2009 15:46:25 Wolfgang Denk wrote:
In message Mike Frysinger wrote:
- We need a wrapper for gunzip() because the parameters are
*/
- We need a wrapper for zunzip() because the parameters are
- incompatible with the lzo decompressor.
static int gzip_decompress(const unsigned char *in, size_t in_len, unsigned char *out, size_t *out_len) { unsigned long len = in_len;
- return gunzip(out, *out_len, (unsigned char *)in, &len);
- return zunzip(out, *out_len, (unsigned char *)in, &len, 0, 0);
}
If the only purpose of zunzip() is to be used here, then why do we not make the parameters fit the intended purpose, thus avoiding an additional wrapper?
not sure i follow ... what do you propose changing ?
The comment above seems to indicate that gzip_decompress() is only (?) needed because the zunzip() parameters are incompatible with those of the lzo decompressor.
So if we create zunzip() just for this purpose, then why not create it in a way that the parameters are compatible with those of the lzo decompressor, so we can omit this whole gzip_decompress() wrapper function?
that should be a follow up change, but the wrapper already exists today regardless of Ricardo's fixes. i dont think his changes should be held up to address that.
that direction should probably cover: - fix gunzip code to use size_t's instead of unsigned long - re-order lzo arguments to match zlib rather than other way around since lzo has very few consumers -mike