Project

General

Profile

Actions

Bug #13675

closed

Should Zlib::GzipReader#ungetc accept nil?

Added by Eregon (Benoit Daloze) almost 5 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
[ruby-core:81752]
Tags:

Description

IO#ungetc accepts nil and just does nothing:

p File.new(__FILE__).ungetc(nil)

But on a GzipReader it fails:

require 'zlib'
zip = "\x1F\x8B\b\x00,\xDC\xD1G\x00\x0334261MLJNI\x05\x00\x9D\x05\x00$\n\x00\x00\x00"
io = StringIO.new zip
gz = Zlib::GzipReader.new(io)
p gz.ungetc(nil)
# =>
repro.rb:8:in `ungetc': no implicit conversion of nil into String (TypeError)
    from repro.rb:8:in `<main>'

Should Zlib::GzipReader#ungetc accept nil?
Or should IO#ungetc also raise when given nil?

Discovered in https://github.com/jruby/jruby/pull/4636#issuecomment-305325839


Files

io-ungetc-nil-13675.patch (1.56 KB) io-ungetc-nil-13675.patch jeremyevans0 (Jeremy Evans), 08/25/2019 06:28 PM
Actions

Also available in: Atom PDF