/* * call-seq: * open(filename, &block=nil) -> Bzip2::Reader * * @param [String] filename the name of the file to read from * @yieldparam [Bzip2::Reader] reader the Bzip2::Reader instance * * If a block is given, the created Bzip2::Reader instance is yielded to the * block and will be closed when the block completes. It is guaranteed via * +ensure+ that the reader is closed * * If a block is not given, a Bzip2::Reader instance will be returned * * Bzip2::Reader.open('file') { |f| puts f.gets } * * reader = Bzip2::Reader.open('file') * puts reader.gets * reader.close * * @return [Bzip2::Reader, nil] */ static VALUE bz_reader_s_open(int argc, VALUE *argv, VALUE obj) {