From: matz@... Date: 2020-02-27T05:13:11+00:00 Subject: [ruby-core:97276] [Ruby master Bug#13675] Should Zlib::GzipReader#ungetc accept nil? Issue #13675 has been updated by matz (Yukihiro Matsumoto). `IO#ungetc` should be fixed. The patch looks good to me. Matz. ---------------------------------------- Bug #13675: Should Zlib::GzipReader#ungetc accept nil? https://bugs.ruby-lang.org/issues/13675#change-84393 * Author: Eregon (Benoit Daloze) * Status: Open * Priority: Normal * ruby -v: ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux] * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- 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 `
' 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) -- https://bugs.ruby-lang.org/ Unsubscribe: