#283 √ resolved
Le Huy

[TODO] incomplete implementation of zlib library

Reported by Le Huy | January 27th, 2008 @ 01:35 AM | in 0.10

missing class method Zlib::Inflate.new(window_bits) and instance methods Zlib::Inflate#inflate(string), Zlib::Inflate#set_dictionary(p1), Zlib::Inflate#sync(string), Zlib::Inflate#sync_point?

Comments and changes to this ticket

  • Le Huy

    Le Huy February 2nd, 2008 @ 06:22 PM

    • → Title changed from “[TODO] missing methods of Zlib::Inflate” to “[TODO] incomplete implementation of zlib library”

    Looking at the current implementation of zlib , I have found that current zlib in Rubinius is also missing many methods of class Zlib::Deflate and class Zlib::ZStream, which is supper class of both Zlib::Inflate and Zlib::Deflate

  • Eero Saynatkari

    Eero Saynatkari February 3rd, 2008 @ 08:15 PM

    • → State changed from “new” to “open”
  • Tom Mornini

    Tom Mornini February 14th, 2008 @ 03:58 AM

    Does this patch clear this ticket?

    commit 4eb58ebc45b2ee79f01d75fdb3e9104c73ad66e2
    Author: Eric Hodel <ehodel@engineyard.com>
    Date:   Wed Feb 13 23:56:37 2008 -0800
    
        Common implementation for Zlib::Inflate and Zlib::Deflate.
    
  • Le Huy

    Le Huy February 14th, 2008 @ 04:57 PM

    need add

        def finish
          true
        end
    

    to class Zlib::Inflate, this is because rubygems use the following code in its lib/rubygems/package.rb:616

        def zipped_stream(entry)
          # This is Jamis Buck's ZLib workaround.  The original code is
          # commented out while we evaluate this patch.
          entry.read(10) # skip the gzip header
          zis = Zlib::Inflate.new(-Zlib::MAX_WBITS)
          is = StringIO.new(zis.inflate(entry.read))
          # zis = Zlib::GzipReader.new entry
          # dis = zis.read
          # is = StringIO.new(dis)
        ensure
          zis.finish if zis
        end
    
  • Ryan Davis

    Ryan Davis February 29th, 2008 @ 04:01 PM

    • → Assigned user changed from “” to “Eric Hodel”
  • Eric Hodel

    Eric Hodel June 19th, 2008 @ 05:25 PM

    • → Milestone changed from “1.0 preview” to “1.0”
  • Evan Phoenix

    Evan Phoenix June 26th, 2008 @ 11:02 AM

    • → Tag changed from “” to “lib missing todo zlib”
    • → Milestone changed from “1.0” to “0.10”
  • Eric Hodel

    Eric Hodel July 10th, 2008 @ 02:17 PM

    • → State changed from “open” to “resolved”

    The core of Inflate, Deflate, GzipReader and GzipWriter match the MRI implementation, I think this is a good-enough base to allow others to build up our missing features.

Please Login or create a free account to add a new comment.

You can update this ticket by sending an email to from your email client. (help)

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »