Boost logo

Boost Users :

Subject: Re: [Boost-users] [iostream] gzip filter buggy on windows
From: Bo Jensen (jensen.bo_at_[hidden])
Date: 2011-04-28 08:45:22


On Thu, Apr 28, 2011 at 12:41 PM, Bo Jensen <jensen.bo_at_[hidden]> wrote:
> On Thu, Apr 28, 2011 at 12:29 PM, Anders Knudby <knudby_at_[hidden]> wrote:
>> On Thu, Apr 28, 2011 at 8:06 AM, Bo Jensen <jensen.bo_at_[hidden]> wrote:
>>>
>>> In my quest of making gzip work for my application on windows, I found
>>> the following bug :
>>>
>>> int main(int argc, char *argv[])
>>> {
>>>  std::ofstream strm("test.gz");
>>>
>>>  boost::iostreams::filtering_ostream  sink;
>>>
>>>  /* Push gzip compressor */
>>>  sink.push(boost::iostreams::gzip_compressor());
>>>
>>>  /* Push file writer */
>>>  sink.push(strm);
>>>
>>>  #if 0
>>>  /* This does not work */
>>>  sink <<"  OBJ   N"<< std::endl;
>>>  #else
>>>  /* This works */
>>>  sink <<"  OBJ N"<< std::endl;
>>>  #endif
>>> }
>>>
>>>
>>> The first string results in a invalid gzip file i.e invalid compressed
>>> data--length error. I am aware this might be a bug in zib lib. It
>>> works on without any problems on linux.
>>>
>>> Does anyone use gzip on windows on a regular basis ?
>>> _______________________________________________
>>> Boost-users mailing list
>>> Boost-users_at_[hidden]
>>> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>>
>> Hi Bo, I have recently tried getting boost/gzip to work on Windows (x86) and
>> also run into some weird behaviour. It is chronicled in two recent posts,
>> "Read/write with gzip" and "Writing large binary files with boost gzip". I
>> can't say for sure that all my problems have been Windows issues, but others
>> have successfully run some of my code on Linux when I couldn't get it to
>> behave.
>>
>> Anders
>
> Yes, after some tweaks with flushing it works absolutely fine for me
> on linux. Windows on the other hand show some strange stuff like the
> one I mention. I tried to upgrade from zlib 1.2.4 to zlib 1.2.5, but
> can not make it compile with msvc-10. What version of zlib do you use
> ? Compiler ?
>
>>
>> _______________________________________________
>> Boost-users mailing list
>> Boost-users_at_[hidden]
>> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>>
>

In regard to flushing issues, I can see from the zlib change list some
new features were added in 1.2.4 :

Added flush options Z_BLOCK to deflate() and Z_TREES to inflate() for
finer control

which was not possible when iostream library gzip stuff was implemented.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net