<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: zlib &#8211; Looking the Gift Code in the Mouth</title>
	<atom:link href="http://marknelson.us/1997/01/01/zlib-engine/feed/" rel="self" type="application/rss+xml" />
	<link>http://marknelson.us/1997/01/01/zlib-engine/</link>
	<description>Programming, mostly.</description>
	<lastBuildDate>Wed, 16 May 2012 08:30:05 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Mark Nelson</title>
		<link>http://marknelson.us/1997/01/01/zlib-engine/comment-page-1/#comment-385304</link>
		<dc:creator>Mark Nelson</dc:creator>
		<pubDate>Wed, 05 Oct 2011 11:09:42 +0000</pubDate>
		<guid isPermaLink="false">/1997/01/01/zlib-looking-the-gift-code-in-the-mouth/#comment-385304</guid>
		<description>@Skeeter:

Unfortunately, what you see is what I have.

I think the best bet for you is to use the Info-Zip DLLs with VB. This wasn&#039;t possible back in 2001, but it works just fine now:

http://www.info-zip.org/

The Info-Zip DLLs are pretty well supported, and you will have an easier time keeping up with bug fixes and any future enhancements.

- Mark</description>
		<content:encoded><![CDATA[<p>@Skeeter:</p>
<p>Unfortunately, what you see is what I have.</p>
<p>I think the best bet for you is to use the Info-Zip DLLs with VB. This wasn&#8217;t possible back in 2001, but it works just fine now:</p>
<p><a href="http://www.info-zip.org/" rel="nofollow">http://www.info-zip.org/</a></p>
<p>The Info-Zip DLLs are pretty well supported, and you will have an easier time keeping up with bug fixes and any future enhancements.</p>
<p>- Mark</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Skreener</title>
		<link>http://marknelson.us/1997/01/01/zlib-engine/comment-page-1/#comment-385083</link>
		<dc:creator>Skreener</dc:creator>
		<pubDate>Tue, 04 Oct 2011 21:43:00 +0000</pubDate>
		<guid isPermaLink="false">/1997/01/01/zlib-looking-the-gift-code-in-the-mouth/#comment-385083</guid>
		<description>Thanks for the reply Mark. The links seem to be for the ZlibTool.ocx but I can&#039;t see the code for ZlibOCX2.ocx. I think it was done in VC++5 back in 2001 to support VB5, or the the code essentially the same for both using the same ZlibEngine class? 

Just to say thanks for what you have contributed to the programming world! I know it has helped me.</description>
		<content:encoded><![CDATA[<p>Thanks for the reply Mark. The links seem to be for the ZlibTool.ocx but I can&#8217;t see the code for ZlibOCX2.ocx. I think it was done in VC++5 back in 2001 to support VB5, or the the code essentially the same for both using the same ZlibEngine class? </p>
<p>Just to say thanks for what you have contributed to the programming world! I know it has helped me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Nelson</title>
		<link>http://marknelson.us/1997/01/01/zlib-engine/comment-page-1/#comment-385052</link>
		<dc:creator>Mark Nelson</dc:creator>
		<pubDate>Tue, 04 Oct 2011 20:12:21 +0000</pubDate>
		<guid isPermaLink="false">/1997/01/01/zlib-looking-the-gift-code-in-the-mouth/#comment-385052</guid>
		<description>@Skreener:

There are links to all the source code at the bottom of this article.

Note that zlib has been through quite a few revisions since the code was first posted.

- Mark</description>
		<content:encoded><![CDATA[<p>@Skreener:</p>
<p>There are links to all the source code at the bottom of this article.</p>
<p>Note that zlib has been through quite a few revisions since the code was first posted.</p>
<p>- Mark</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Skreener</title>
		<link>http://marknelson.us/1997/01/01/zlib-engine/comment-page-1/#comment-385050</link>
		<dc:creator>Skreener</dc:creator>
		<pubDate>Tue, 04 Oct 2011 20:07:32 +0000</pubDate>
		<guid isPermaLink="false">/1997/01/01/zlib-looking-the-gift-code-in-the-mouth/#comment-385050</guid>
		<description>I have used your zlibocx2 dll (now only available at http://www.dogma.net/markn/ZlibOCX2.dll) for almost 10 years now in a VB6 project and have compressed and decompressed millions of files over that period without a problem. However now I have to port to C# 64bit and I have been trying some of the C# ports out there for zlib. While they seem to work in general but I am occasionally having problems with some of the files that were originally compressed with zlibocx2 that seem to be related to buffer problems on deflation. Could you make the source code for zlibocx2 avaibale so that I could try and figure out what the issue is or do you have any pointers as to what it could be?</description>
		<content:encoded><![CDATA[<p>I have used your zlibocx2 dll (now only available at <a href="http://www.dogma.net/markn/ZlibOCX2.dll" rel="nofollow">http://www.dogma.net/markn/ZlibOCX2.dll</a>) for almost 10 years now in a VB6 project and have compressed and decompressed millions of files over that period without a problem. However now I have to port to C# 64bit and I have been trying some of the C# ports out there for zlib. While they seem to work in general but I am occasionally having problems with some of the files that were originally compressed with zlibocx2 that seem to be related to buffer problems on deflation. Could you make the source code for zlibocx2 avaibale so that I could try and figure out what the issue is or do you have any pointers as to what it could be?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Nelson</title>
		<link>http://marknelson.us/1997/01/01/zlib-engine/comment-page-1/#comment-333653</link>
		<dc:creator>Mark Nelson</dc:creator>
		<pubDate>Fri, 08 Oct 2010 12:02:20 +0000</pubDate>
		<guid isPermaLink="false">/1997/01/01/zlib-looking-the-gift-code-in-the-mouth/#comment-333653</guid>
		<description>@Srivatsan:

Suggest you first make sure you can unzip the file using minigzip, which comes with the zlib distribution. If that works, compare its code to yours and see where the problem lies.

- Mark</description>
		<content:encoded><![CDATA[<p>@Srivatsan:</p>
<p>Suggest you first make sure you can unzip the file using minigzip, which comes with the zlib distribution. If that works, compare its code to yours and see where the problem lies.</p>
<p>- Mark</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Srivatsan</title>
		<link>http://marknelson.us/1997/01/01/zlib-engine/comment-page-1/#comment-333644</link>
		<dc:creator>Srivatsan</dc:creator>
		<pubDate>Fri, 08 Oct 2010 09:08:56 +0000</pubDate>
		<guid isPermaLink="false">/1997/01/01/zlib-looking-the-gift-code-in-the-mouth/#comment-333644</guid>
		<description>Hi,

   I have a file which is 5000000 bytes size and after gzip compression it is coming out to 5123 bytes. I tried to use zlib to uncompress the same file but it is not getting me the last 2880 bytes. Why is this ? I have followed the procedure as given in zlib manual. I am using the zlib version 1.2.3. 

[c]
int inf(FILE *source, FILE *dest)
{
int ret;
unsigned have;
int have1;
z_stream strm;
unsigned char in[CHUNK];
unsigned char out[CHUNK];
int err;
int total;


/* allocate inflate state */
strm.zalloc = Z_NULL;
strm.zfree = Z_NULL;
strm.opaque = Z_NULL;
strm.avail_out = (5*1024*1024);
total = strm.avail_out;
strm.next_out = out;
strm.outcb = (cb_func)temp;

/* decompress until deflate stream ends or end of file */
 int i = fread(in, 1, CHUNK, source);

if (ferror(source)) {
(void)inflateEnd(&amp;strm);
}
strm.avail_in = 5213;
strm.next_in = in;

ret = inflateInit2(&amp;strm, 47);
have = CHUNK;

if (ret == Z_OK)
    {
            for (;;) {

                printf(&quot;value of total is %d\n&quot;,have);

                strm.next_out = out;            /* discard the output */
                strm.avail_out = have;
                err = inflate(&amp;strm, Z_FINISH);
                if (err == Z_STREAM_END)
                {
                        printf(&quot;stream end&quot;);
                        break;
                }
                i = fwrite(out, 1, have, dest);

                total = total - have;
                have1 = (total - CHUNK);

                if(have1 &gt; CHUNK)
                        have = CHUNK;
                else
                        have = have1;

            }
                if ((err == Z_OK) &#124;&#124; (err == Z_STREAM_END)) {
                        printf(&quot;value of tota32 is %d\n&quot;,total);
                        err = inflateEnd(&amp;strm);
                }
        }

                printf(&quot;value of total2 is %d\n&quot;,total);

                return err;
}
[/c]

Need some guidance on using the inflate function.</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>   I have a file which is 5000000 bytes size and after gzip compression it is coming out to 5123 bytes. I tried to use zlib to uncompress the same file but it is not getting me the last 2880 bytes. Why is this ? I have followed the procedure as given in zlib manual. I am using the zlib version 1.2.3. </p>
<div class="igBar"><span id="lc-1"><a href="#" onclick="javascript:showPlainTxt('c-1'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">C:</span>
<div id="c-1">
<div class="c">
<ol>
<li class="li1">
<div class="de1"><span class="kw4">int</span> inf<span class="br0">&#40;</span>FILE *source, FILE *dest<span class="br0">&#41;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">int</span> ret;</div>
</li>
<li class="li2">
<div class="de2"><span class="kw4">unsigned</span> have;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">int</span> have1;</div>
</li>
<li class="li2">
<div class="de2">z_stream strm;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">unsigned</span> <span class="kw4">char</span> in<span class="br0">&#91;</span>CHUNK<span class="br0">&#93;</span>;</div>
</li>
<li class="li2">
<div class="de2"><span class="kw4">unsigned</span> <span class="kw4">char</span> out<span class="br0">&#91;</span>CHUNK<span class="br0">&#93;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">int</span> err;</div>
</li>
<li class="li2">
<div class="de2"><span class="kw4">int</span> total;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">/* allocate inflate state */</span></div>
</li>
<li class="li2">
<div class="de2">strm.<span class="me1">zalloc</span> = Z_NULL;</div>
</li>
<li class="li1">
<div class="de1">strm.<span class="me1">zfree</span> = Z_NULL;</div>
</li>
<li class="li2">
<div class="de2">strm.<span class="me1">opaque</span> = Z_NULL;</div>
</li>
<li class="li1">
<div class="de1">strm.<span class="me1">avail_out</span> = <span class="br0">&#40;</span><span class="nu0">5</span>*<span class="nu0">1024</span>*<span class="nu0">1024</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">total = strm.<span class="me1">avail_out</span>;</div>
</li>
<li class="li1">
<div class="de1">strm.<span class="me1">next_out</span> = out;</div>
</li>
<li class="li2">
<div class="de2">strm.<span class="me1">outcb</span> = <span class="br0">&#40;</span>cb_func<span class="br0">&#41;</span>temp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2"><span class="coMULTI">/* decompress until deflate stream ends or end of file */</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw4">int</span> i = fread<span class="br0">&#40;</span>in, <span class="nu0">1</span>, CHUNK, source<span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span>ferror<span class="br0">&#40;</span>source<span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="br0">&#40;</span><span class="kw4">void</span><span class="br0">&#41;</span>inflateEnd<span class="br0">&#40;</span>&amp;amp;strm<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">strm.<span class="me1">avail_in</span> = <span class="nu0">5213</span>;</div>
</li>
<li class="li1">
<div class="de1">strm.<span class="me1">next_in</span> = in;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">ret = inflateInit2<span class="br0">&#40;</span>&amp;amp;strm, <span class="nu0">47</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">have = CHUNK;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2"><span class="kw1">if</span> <span class="br0">&#40;</span>ret == Z_OK<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span>;;<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a><span class="br0">&#40;</span><span class="st0">"value of total is %d<span class="es0">\n</span>"</span>,have<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; strm.<span class="me1">next_out</span> = out;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* discard the output */</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; strm.<span class="me1">avail_out</span> = have;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; err = inflate<span class="br0">&#40;</span>&amp;amp;strm, Z_FINISH<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>err == Z_STREAM_END<span class="br0">&#41;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a><span class="br0">&#40;</span><span class="st0">"stream end"</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">break</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; i = fwrite<span class="br0">&#40;</span>out, <span class="nu0">1</span>, have, dest<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; total = total - have;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; have1 = <span class="br0">&#40;</span>total - CHUNK<span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>have1&amp;gt; CHUNK<span class="br0">&#41;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; have = CHUNK;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; have = have1;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="br0">&#40;</span>err == Z_OK<span class="br0">&#41;</span> || <span class="br0">&#40;</span>err == Z_STREAM_END<span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a><span class="br0">&#40;</span><span class="st0">"value of tota32 is %d<span class="es0">\n</span>"</span>,total<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; err = inflateEnd<span class="br0">&#40;</span>&amp;amp;strm<span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a><span class="br0">&#40;</span><span class="st0">"value of total2 is %d<span class="es0">\n</span>"</span>,total<span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> err;</div>
</li>
<li class="li2">
<div class="de2"><span class="br0">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Need some guidance on using the inflate function.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Asrar Ahmed</title>
		<link>http://marknelson.us/1997/01/01/zlib-engine/comment-page-1/#comment-328166</link>
		<dc:creator>Asrar Ahmed</dc:creator>
		<pubDate>Mon, 28 Jun 2010 22:36:18 +0000</pubDate>
		<guid isPermaLink="false">/1997/01/01/zlib-looking-the-gift-code-in-the-mouth/#comment-328166</guid>
		<description>This is very usefull zip ocx like ever</description>
		<content:encoded><![CDATA[<p>This is very usefull zip ocx like ever</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Howard Winslow</title>
		<link>http://marknelson.us/1997/01/01/zlib-engine/comment-page-1/#comment-324067</link>
		<dc:creator>Howard Winslow</dc:creator>
		<pubDate>Mon, 22 Mar 2010 22:03:12 +0000</pubDate>
		<guid isPermaLink="false">/1997/01/01/zlib-looking-the-gift-code-in-the-mouth/#comment-324067</guid>
		<description>@Stephen Howe

From the zlib FAQ:

Well that&#039;s nice, but how do I make a gzip file in memory?

Well that&#039;s nice, but how do I make a gzip file in memory?
You can request that deflate write the gzip format instead of the zlib format using deflateInit2(). You can also request that inflate decode the gzip format using inflateInit2(). Read zlib.h for more details.

http://zlib.net/zlib_faq.html#faq20

According to zlib.h:

windowBits can also be greater than 15 for optional gzip decoding.  Add 32 to windowBits to enable zlib and gzip decoding with automatic header detection, or add 16 to decode only the gzip format (the zlib format will return a Z_DATA_ERROR).  If a gzip stream is being decoded, strm-&gt;adler is a crc32 instead of an adler32.</description>
		<content:encoded><![CDATA[<p>@Stephen Howe</p>
<p>From the zlib FAQ:</p>
<p>Well that's nice, but how do I make a gzip file in memory?</p>
<p>Well that's nice, but how do I make a gzip file in memory?<br />
You can request that deflate write the gzip format instead of the zlib format using deflateInit2(). You can also request that inflate decode the gzip format using inflateInit2(). Read zlib.h for more details.</p>
<p><a href="http://zlib.net/zlib_faq.html#faq20" rel="nofollow">http://zlib.net/zlib_faq.html#faq20</a></p>
<p>According to zlib.h:</p>
<p>windowBits can also be greater than 15 for optional gzip decoding.  Add 32 to windowBits to enable zlib and gzip decoding with automatic header detection, or add 16 to decode only the gzip format (the zlib format will return a Z_DATA_ERROR).  If a gzip stream is being decoded, strm-&gt;adler is a crc32 instead of an adler32.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Nelson</title>
		<link>http://marknelson.us/1997/01/01/zlib-engine/comment-page-1/#comment-323567</link>
		<dc:creator>Mark Nelson</dc:creator>
		<pubDate>Fri, 05 Mar 2010 12:27:05 +0000</pubDate>
		<guid isPermaLink="false">/1997/01/01/zlib-looking-the-gift-code-in-the-mouth/#comment-323567</guid>
		<description>@Zuffi: 

Not without some changes. It compresses files right now.</description>
		<content:encoded><![CDATA[<p>@Zuffi: </p>
<p>Not without some changes. It compresses files right now.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Zuffi</title>
		<link>http://marknelson.us/1997/01/01/zlib-engine/comment-page-1/#comment-323566</link>
		<dc:creator>Zuffi</dc:creator>
		<pubDate>Fri, 05 Mar 2010 12:25:52 +0000</pubDate>
		<guid isPermaLink="false">/1997/01/01/zlib-looking-the-gift-code-in-the-mouth/#comment-323566</guid>
		<description>Hi All,

      If it possible for me to use this ocx to perform a compression of byte array in vb?

Thanks and Best Regards,
Boon Hui</description>
		<content:encoded><![CDATA[<p>Hi All,</p>
<p>      If it possible for me to use this ocx to perform a compression of byte array in vb?</p>
<p>Thanks and Best Regards,<br />
Boon Hui</p>
]]></content:encoded>
	</item>
</channel>
</rss>

