Method: StringIO#close_read

Defined in:
ext/stringio/stringio.c

#close_readnil

Closes self for reading; closed-write setting remains unchanged.

Raises IOError if reading is attempted.

Related: StringIO#close, StringIO#close_write.

Returns:

  • (nil)


518
519
520
521
522
523
524
525
526
527
# File 'ext/stringio/stringio.c', line 518

static VALUE
strio_close_read(VALUE self)
{
    struct StringIO *ptr = StringIO(self);
    if (!(ptr->flags & FMODE_READABLE)) {
	rb_raise(rb_eIOError, "closing non-duplex IO for reading");
    }
    RBASIC(self)->flags &= ~STRIO_READABLE;
    return Qnil;
}